SHF:Small:RUI: Semantic Complexity of Advanced Data Types

SHF:Small:RUI:高级数据类型的语义复杂性

基本信息

  • 批准号:
    1906388
  • 负责人:
  • 金额:
    $ 51.08万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2019
  • 资助国家:
    美国
  • 起止时间:
    2019-10-01 至 2024-09-30
  • 项目状态:
    已结题

项目摘要

Testing of programs has dominated the last 50 years of software development, but the next 50 will see an increased demand for provably correct software. This is partly because modern applications are increasingly safety critical, partly because testing is by its very nature only a partial correctness guarantee, and partly because programming language technology is now at the stage where it is feasible to formally verify critical programs. Language-based verification uses a programming language's type system to help guarantee program correctness: the more program properties a type system can express, the more the compiler can automatically verify. Advanced data types such as Generalized Algebraic Data Types (GADTs) help close the so-called "semantic gap" between what programmers know about programs involving them and what a type system can express about those programs. The key observation underlying this project is that GADTs and other advanced data types are underspecified by their syntax, which often leads to them being used in unjustified ways that undermine their promise for verification. The project's novelty is a fully semantic response to this observation, embodied by the entirely novel notion of the functorial completion of a data type. This notion of functorial completion leads directly to the project's overall impact, which is to change the way programmers understand, and thus program with, GADTs and other advanced data types.The project shows that the way that even ordinary GADTs are currently understood is not formally justifiable and leads to unsafe programming practices, with the obvious consequences for verification, security, and reliability of software systems. It gives a grammar that generates a very general class of GADTs and other advanced data types, and uses the new notion of the functorial completion of a data type to give the data types generated by this grammar the same kind of semantics that has long been the cornerstone of the theory of standard algebraic data types. This ensures that data types generated by the grammar can be used with semantic and computational confidence. Furthermore it allows the data types to be classified according to semantic complexity--a novel notion introduced in this project--that helps programmers better understand a data type's semantic and computational properties. Finally, the project gives a framework for constructing parametric models for polymorphic languages supporting the advanced data types generated by the grammar. This framework is principled, conceptually simple, uniform, comprehensive, and predictive. It is constructed specifically to validate the semantics of the GADTs and other advanced data types generated by the grammar, and the constructs that are derived in a standard way from such semantics.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
在过去50年的软件开发中,程序测试占据了主导地位,但在接下来的50年里,对可证明正确的软件的需求将会增加。这部分是因为现代应用程序对安全的要求越来越高,部分是因为测试本质上只是部分正确性保证,部分是因为编程语言技术现在处于正式验证关键程序是可行的阶段。基于语言的验证使用编程语言的类型系统来帮助保证程序的正确性:类型系统可以表达的程序属性越多,编译器可以自动验证的就越多。诸如通用代数数据类型(GADT)之类的高级数据类型有助于弥合程序员对涉及它们的程序的了解与类型系统对这些程序所能表达的信息之间的所谓“语义鸿沟”。这个项目背后的关键观察是,GADT和其他高级数据类型的语法规定不足,这往往导致它们被以不合理的方式使用,破坏了它们对验证的承诺。该项目的新颖性是对这一观察结果的完全语义响应,体现在数据类型的函数补全这一全新的概念中。这种功能完成的概念直接导致项目的整体影响,即改变程序员理解GADT和其他高级数据类型的方式。该项目表明,即使是普通的GADT目前被理解的方式也是不正当的,并导致不安全的编程实践,对软件系统的验证、安全和可靠性造成明显的后果。它给出了一种生成GADT和其他高级数据类型的非常通用的类的语法,并使用数据类型的函数补全的新概念来赋予由该语法生成的数据类型相同的语义,这种语义长期以来一直是标准代数数据类型理论的基石。这确保了语法生成的数据类型可以在语义和计算上可信地使用。此外,它允许根据语义复杂性对数据类型进行分类--这是本项目中引入的一个新概念--这有助于程序员更好地理解数据类型的语义和计算属性。最后,该项目给出了一个框架,用于构建支持由语法生成的高级数据类型的多态语言的参数模型。这一框架是原则性的,概念简单,统一,全面,具有预测性。它是专门为验证由语法生成的GADT和其他高级数据类型的语义,以及以标准方式从这些语义派生的构造而构建的。该奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。

项目成果

期刊论文数量(7)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
(Deep) Induction Rules for GADTs
GADT 的(深度)归纳规则
  • DOI:
    10.1145/3497775.3503680
  • 发表时间:
    2022
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Johann, Patricia;Ghiorzi, Enrico
  • 通讯作者:
    Ghiorzi, Enrico
Parametricity for Primitive Nested Types
原始嵌套类型的参数化
  • DOI:
    10.26226/morressier.604907f41a80aac83ca25cb5
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Johann, P;Ghiorzi, E.;Jeffries, D.
  • 通讯作者:
    Jeffries, D.
GADTs, Functoriality, Parametricity: Pick Two
GADT、函数性、参数性:选择两个
Partiality Wrecks GADTs’ Functoriality
偏向性破坏 GADT – 功能性
  • DOI:
  • 发表时间:
    2023
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Cagne, Pierre;Johann, Patricia
  • 通讯作者:
    Johann, Patricia
Characterizing functions mappable over GADTs
表征可通过 GADT 映射的函数
{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Patricia Johann其他文献

Monadic fold, Monadic build, Monadic Short Cut Fusion
Monadic 折叠、Monadic 构建、Monadic 快捷融合
  • DOI:
  • 发表时间:
    2016
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Patricia Johann
  • 通讯作者:
    Patricia Johann
A Productivity Checker for Logic Programming
逻辑编程的生产力检查器
Staged Notational Definitions
分阶段符号定义
  • DOI:
    10.1007/978-3-540-39815-8_6
  • 发表时间:
    2003
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Walid Taha;Patricia Johann
  • 通讯作者:
    Patricia Johann
Lumberjack Summer Camp: A Cross-Institutional Undergraduate Research Experience in Computer Science
伐木工人夏令营:计算机科学的跨机构本科研究经历
  • DOI:
    10.1076/csed.11.4.279.3830
  • 发表时间:
    2001
  • 期刊:
  • 影响因子:
    2.7
  • 作者:
    Patricia Johann;F. Turbak
  • 通讯作者:
    F. Turbak
Structural Resolution: a Framework for Coinductive Proof Search and Proof Construction in Horn Clause Logic
结构解析:霍恩子句逻辑中的共归纳证明搜索和证明构造的框架
  • DOI:
  • 发表时间:
    2015
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Ekaterina Komendantskaya;Patricia Johann
  • 通讯作者:
    Patricia Johann

Patricia Johann的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Patricia Johann', 18)}}的其他基金

SHF:Small:RUI: Deep Induction Rules for Advanced Data Types
SHF:Small:RUI:高级数据类型的深度归纳规则
  • 批准号:
    2203217
  • 财政年份:
    2022
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: RUI: New Foundations for Indexed Programming
SHF:小型:RUI:索引编程的新基础
  • 批准号:
    1713389
  • 财政年份:
    2017
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: Relational Parametricity for Program Verification
SHF:小:程序验证的关系参数
  • 批准号:
    1420175
  • 财政年份:
    2014
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Categorical Foundations for Indexed Programming
索引编程的分类基础
  • 批准号:
    EP/G068917/1
  • 财政年份:
    2010
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Research Grant
RUI:Initial Algebra Packages for GADTs: Principled Tools for Structured Programming
RUI:GADT 的初始代数包:结构化编程的原则工具
  • 批准号:
    0700341
  • 财政年份:
    2007
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
RUI: Provable Safety for Performance-Improving Free Theorems-Based Program Transformations
RUI:可证明安全性,可提高性能的基于自由定理的程序转换
  • 批准号:
    0429072
  • 财政年份:
    2004
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Continuing Grant
RUI: Testing and Enhancing a Prototype Program Fusion Engine
RUI:测试和增强原型程序融合引擎
  • 批准号:
    0296006
  • 财政年份:
    2001
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
RUI: Testing and Enhancing a Prototype Program Fusion Engine
RUI:测试和增强原型程序融合引擎
  • 批准号:
    9900510
  • 财政年份:
    1999
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Mathematical Sciences: Toward a Theory of Well-Founded Orderings for Use in Automated Deduction
数学科学:走向一种用于自动演绎的有根据的排序理论
  • 批准号:
    9696043
  • 财政年份:
    1995
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Mathematical Sciences: Toward a Theory of Well-Founded Orderings for Use in Automated Deduction
数学科学:走向一种用于自动演绎的有根据的排序理论
  • 批准号:
    9510164
  • 财政年份:
    1995
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant

相似国自然基金

昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
  • 批准号:
  • 批准年份:
    2024
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
  • 批准号:
    n/a
  • 批准年份:
    2022
  • 资助金额:
    10.0 万元
  • 项目类别:
    省市级项目
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
  • 批准号:
    32000033
  • 批准年份:
    2020
  • 资助金额:
    24.0 万元
  • 项目类别:
    青年科学基金项目
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
  • 批准号:
    31972324
  • 批准年份:
    2019
  • 资助金额:
    58.0 万元
  • 项目类别:
    面上项目
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
  • 批准号:
    81900988
  • 批准年份:
    2019
  • 资助金额:
    21.0 万元
  • 项目类别:
    青年科学基金项目
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
  • 批准号:
    31870821
  • 批准年份:
    2018
  • 资助金额:
    56.0 万元
  • 项目类别:
    面上项目
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
  • 批准号:
    31802058
  • 批准年份:
    2018
  • 资助金额:
    26.0 万元
  • 项目类别:
    青年科学基金项目
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
  • 批准号:
    31772128
  • 批准年份:
    2017
  • 资助金额:
    60.0 万元
  • 项目类别:
    面上项目
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
  • 批准号:
    81704176
  • 批准年份:
    2017
  • 资助金额:
    20.0 万元
  • 项目类别:
    青年科学基金项目
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
  • 批准号:
    91640114
  • 批准年份:
    2016
  • 资助金额:
    85.0 万元
  • 项目类别:
    重大研究计划

相似海外基金

Collaborative Research: SHF: Small: RUI: CMOS+X: Honey-ReRAM Enabled 3D Neuromorphic Accelerator
合作研究:SHF:小型:RUI:CMOS X:Honey-ReRAM 支持的 3D 神经形态加速器
  • 批准号:
    2247343
  • 财政年份:
    2023
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: CMOS+X: Honey-ReRAM Enabled 3D Neuromorphic Accelerator
合作研究:SHF:小型:RUI:CMOS X:Honey-ReRAM 支持的 3D 神经形态加速器
  • 批准号:
    2247342
  • 财政年份:
    2023
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: Keystone: Modular Concurrent Software Verification
协作研究:SHF:小型:RUI:Keystone:模块化并发软件验证
  • 批准号:
    2243636
  • 财政年份:
    2023
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: Keystone: Modular Concurrent Software Verification
协作研究:SHF:小型:RUI:Keystone:模块化并发软件验证
  • 批准号:
    2243637
  • 财政年份:
    2023
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: Context-aware Models of Source Code Summarization
协作研究:SHF:小型:RUI:源代码摘要的上下文感知模型
  • 批准号:
    2100050
  • 财政年份:
    2021
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: Collaborative Research: RUI: Synchronicity: A Framework for Synthesizing Concurrent Software from Sequential and Cooperative Specifications
SHF:小型:协作研究:RUI:同步性:根据顺序和协作规范合成并发软件的框架
  • 批准号:
    1812951
  • 财政年份:
    2018
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: RUI: New Foundations for Indexed Programming
SHF:小型:RUI:索引编程的新基础
  • 批准号:
    1713389
  • 财政年份:
    2017
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: RUI: Before, during, and after requirements elicitation interviews: a comprehensive support for improving the quality of requirements
SHF:小:RUI:需求启发访谈之前、期间和之后:为提高需求质量提供全面支持
  • 批准号:
    1718377
  • 财政年份:
    2017
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: RUI: Characterizing, Detecting, and Fixing Performance Bugs That Have Non-Intrusive Fixes
SHF:小:RUI:表征、检测和修复具有非侵入式修复的性能错误
  • 批准号:
    1644285
  • 财政年份:
    2016
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
SHF: Small: RUI: Characterizing, Detecting, and Fixing Performance Bugs That Have Non-Intrusive Fixes
SHF:小:RUI:表征、检测和修复具有非侵入式修复的性能错误
  • 批准号:
    1528134
  • 财政年份:
    2015
  • 资助金额:
    $ 51.08万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了