SHF:Small:RUI: Semantic Complexity of Advanced Data Types
SHF:Small:RUI: Semantic Complexity of Advanced Data Types
批准号:
1906388
负责人:
Patricia Johann
金额:
$51.08万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2019
资助国家:
美国
项目状态:
已结题
起止时间:
2019-10-01 至 2024-09-30
中文摘要
程序测试在过去50年的软件开发中占据主导地位,但未来50年将看到对可证明正确的软件的需求增加。这部分是因为现代应用程序越来越安全,部分是因为测试本质上只是部分正确性保证,部分是因为编程语言技术现在处于可以正式验证关键程序的阶段。基于数据库的验证使用编程语言的类型系统来帮助保证程序的正确性:类型系统可以表达的程序属性越多,编译器可以自动验证的属性就越多。高级数据类型(如广义代数数据类型(GADT))有助于缩小程序员对程序的了解与类型系统对这些程序的表达之间的所谓“语义鸿沟”。该项目的关键观察结果是,GADT和其他高级数据类型的语法未充分指定,这通常导致它们以不合理的方式使用,从而破坏了它们的验证承诺。该项目的新奇是对这一观察的完全语义响应,体现在数据类型的函子完成的全新概念中。这种函子补全的概念直接导致了项目的整体影响,即改变了程序员理解GADT和其他高级数据类型的方式,从而改变了程序员使用GADT和其他高级数据类型进行编程的方式。该项目表明,即使是普通的GADT目前的理解方式也是不合理的,并导致了不安全的编程实践,对软件系统的验证、安全性和可靠性产生了明显的后果。它给出了一种生成GADT和其他高级数据类型的非常通用的类的语法,并使用数据类型的函子完成的新概念来赋予由这种语法生成的数据类型相同的语义,这种语义长期以来一直是标准代数数据类型理论的基石。这确保了由语法生成的数据类型可以在语义和计算上有信心地使用。此外,它还允许根据语义复杂性对数据类型进行分类--这是本项目中引入的一个新概念--这有助于程序员更好地理解数据类型的语义和计算属性。最后,该项目给出了一个框架,用于为多态语言构建参数模型,支持由语法生成的高级数据类型。这个框架是原则性的,概念简单,统一,全面和预测。该奖项是专门为验证GADT的语义和由语法生成的其他高级数据类型,以及以标准方式从这些语义中派生的结构而设立的。该奖项反映了NSF的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
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.
期刊论文(7)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
(Deep) Induction Rules for GADTs
GADT 的(深度)归纳规则
DOI:
10.1145/3497775.3503680
发表时间:
2022
期刊:
Certified Proofs and Programs
影响因子:
--
作者:
[Johann, Patricia, Ghiorzi, Enrico]
通讯作者:
Ghiorzi, Enrico
Parametricity for Primitive Nested Types
原始嵌套类型的参数化
DOI:
10.26226/morressier.604907f41a80aac83ca25cb5
发表时间:
2021
期刊:
Lecture notes in computer science
影响因子:
--
作者:
[Johann, P, Ghiorzi, E., Jeffries, D.]
通讯作者:
Jeffries, D.
GADTs, Functoriality, Parametricity: Pick Two
GADT、函数性、参数性:选择两个
DOI:
--
发表时间:
2021
期刊:
Logical And Semantic Frameworks with Applications
影响因子:
--
作者:
[Johann, P., Ghiorzi, E., and Jeffries, D.]
通讯作者:
and Jeffries, D.
Partiality Wrecks GADTs’ Functoriality
偏向性破坏 GADT – 功能性
DOI:
--
发表时间:
2023
期刊:
TYPES
影响因子:
--
作者:
[Cagne, Pierre, Johann, Patricia]
通讯作者:
Johann, Patricia
Characterizing functions mappable over GADTs
表征可通过 GADT 映射的函数
DOI:
--
发表时间:
2022
期刊:
Asian Symposium on Programming Languages and Systems
影响因子:
--
作者:
[Johann, Patricia, Cagne, Pierre]
通讯作者:
Cagne, Pierre
共 7 条
SHF:Small:RUI: Deep Induction Rules for Advanced Data Types
-
批准号:2203217
-
项目类别:Standard Grant
-
资助金额:$61.31万
-
财政年份:2022
-
负责人:Patricia Johann
-
依托单位:
SHF: Small: RUI: New Foundations for Indexed Programming
-
批准号:1713389
-
项目类别:Standard Grant
-
资助金额:$46.35万
-
财政年份:2017
-
负责人:Patricia Johann
-
依托单位:
SHF: Small: Relational Parametricity for Program Verification
-
批准号:1420175
-
项目类别:Standard Grant
-
资助金额:$37.71万
-
财政年份:2014
-
负责人:Patricia Johann
-
依托单位:
Categorical Foundations for Indexed Programming
-
批准号:EP/G068917/1
-
项目类别:Research Grant
-
资助金额:$35.92万
-
财政年份:2010
-
负责人:Patricia Johann
-
依托单位:
RUI:Initial Algebra Packages for GADTs: Principled Tools for Structured Programming
-
批准号:0700341
-
项目类别:Standard Grant
-
资助金额:$13.8万
-
财政年份:2007
-
负责人:Patricia Johann
-
依托单位:
RUI: Provable Safety for Performance-Improving Free Theorems-Based Program Transformations
-
批准号:0429072
-
项目类别:Continuing Grant
-
资助金额:$12.38万
-
财政年份:2004
-
负责人:Patricia Johann
-
依托单位:
RUI: Testing and Enhancing a Prototype Program Fusion Engine
-
批准号:0296006
-
项目类别:Standard Grant
-
资助金额:$5.04万
-
财政年份:2001
-
负责人:Patricia Johann
-
依托单位:
RUI: Testing and Enhancing a Prototype Program Fusion Engine
-
批准号:9900510
-
项目类别:Standard Grant
-
资助金额:$5.04万
-
财政年份:1999
-
负责人:Patricia Johann
-
依托单位:
Mathematical Sciences: Toward a Theory of Well-Founded Orderings for Use in Automated Deduction
-
批准号:9696043
-
项目类别:Standard Grant
-
资助金额:$1.8万
-
财政年份:1995
-
负责人:Patricia Johann
-
依托单位:
Mathematical Sciences: Toward a Theory of Well-Founded Orderings for Use in Automated Deduction
-
批准号:9510164
-
项目类别:Standard Grant
-
资助金额:$1.8万
-
财政年份:1995
-
负责人:Patricia Johann
-
依托单位:
International Postdoctoral Fellows Program: A Transformation-Based Order-Sorted Higher-Order Unification Algorithm in Combinatory Logic
-
批准号:9224443
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:1993
-
负责人:Patricia Johann
-
依托单位:
国内基金
海外基金
登录
查看更多内容
昼夜节律性small RNA在血斑形成时间推断中的法医学应用研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:--
-
批准年份:2024
-
负责人:
-
依托单位:
tRNA-derived small RNA上调YBX1/CCL5通路参与硼替佐米诱导慢性疼痛的机制研究
-
批准号:
-
项目类别:省市级项目
-
资助金额:10.0万元
-
批准年份:2022
-
负责人:张祥忠
-
依托单位:
Small RNA调控I-F型CRISPR-Cas适应性免疫性的应答及分子机制
-
批准号:32000033
-
项目类别:青年科学基金项目
-
资助金额:24.0万元
-
批准年份:2020
-
负责人:林平
-
依托单位:
Small RNAs调控解淀粉芽胞杆菌FZB42生防功能的机制研究
-
批准号:31972324
-
项目类别:面上项目
-
资助金额:58.0万元
-
批准年份:2019
-
负责人:高学文
-
依托单位:
变异链球菌small RNAs连接LuxS密度感应与生物膜形成的机制研究
-
批准号:81900988
-
项目类别:青年科学基金项目
-
资助金额:21.0万元
-
批准年份:2019
-
负责人:毛梦莹
-
依托单位:
肠道细菌关键small RNAs在克罗恩病发生发展中的功能和作用机制
-
批准号:31870821
-
项目类别:面上项目
-
资助金额:56.0万元
-
批准年份:2018
-
负责人:陈江宁
-
依托单位:
基于small RNA 测序技术解析鸽分泌鸽乳的分子机制
-
批准号:31802058
-
项目类别:青年科学基金项目
-
资助金额:26.0万元
-
批准年份:2018
-
负责人:麻慧
-
依托单位:
Small RNA介导的DNA甲基化调控的水稻草矮病毒致病机制
-
批准号:31772128
-
项目类别:面上项目
-
资助金额:60.0万元
-
批准年份:2017
-
负责人:吴建国
-
依托单位:
基于small RNA-seq的针灸治疗桥本甲状腺炎的免疫调控机制研究
-
批准号:81704176
-
项目类别:青年科学基金项目
-
资助金额:20.0万元
-
批准年份:2017
-
负责人:赵继梦
-
依托单位:
水稻OsSGS3与OsHEN1调控small RNAs合成及其对抗病性的调节
-
批准号:91640114
-
项目类别:重大研究计划
-
资助金额:85.0万元
-
批准年份:2016
-
负责人:何祖华
-
依托单位: