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和其他高级数据类型被其语法指定,这通常会导致它们以不合理的方式使用,从而破坏了他们对验证的承诺。该项目的新颖性是对这一观察结果的完全语义响应,这是数据类型的功能完成的完全新颖的概念所体现的。该功能完成的概念直接导致了项目的整体影响,即改变程序员的理解方式,从而通过GADTS和其他高级数据类型进行编程。该项目表明,即使是普通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、函数性、参数性:选择两个
- DOI:
- 发表时间:2021
- 期刊:
- 影响因子:0
- 作者:Johann, P.;Ghiorzi, E.;and Jeffries, D.
- 通讯作者:and Jeffries, D.
Characterizing functions mappable over GADTs
表征可通过 GADT 映射的函数
- DOI:
- 发表时间:2022
- 期刊:
- 影响因子:0
- 作者:Johann, Patricia;Cagne, Pierre
- 通讯作者:Cagne, Pierre
Partiality Wrecks GADTs’ Functoriality
偏向性破坏 GADT – 功能性
- DOI:
- 发表时间:2023
- 期刊:
- 影响因子:0
- 作者:Cagne, Pierre;Johann, Patricia
- 通讯作者:Johann, Patricia
{{
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其他文献
A Productivity Checker for Logic Programming
逻辑编程的生产力检查器
- DOI:
- 发表时间:
2016 - 期刊:
- 影响因子:0
- 作者:
Ekaterina Komendantskaya;Patricia Johann;Martin Schmidt - 通讯作者:
Martin Schmidt
Monadic fold, Monadic build, Monadic Short Cut Fusion
Monadic 折叠、Monadic 构建、Monadic 快捷融合
- DOI:
- 发表时间:
2016 - 期刊:
- 影响因子:0
- 作者:
Patricia Johann - 通讯作者:
Patricia Johann
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
On proving the correctness of program transformations based on free theorems for higher-order polymorphic calculi
证明高阶多态演算中基于自由定理的程序变换的正确性
- DOI:
10.1017/s0960129504004578 - 发表时间:
2005 - 期刊:
- 影响因子:0.5
- 作者:
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
相似国自然基金
基于小增益理论的物联网聚合计算鲁棒稳定性分析
- 批准号:62303112
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
基于鲁棒广义短路比的高比例新能源电力系统数据驱动随机小干扰稳定性分析
- 批准号:
- 批准年份:2020
- 资助金额:24 万元
- 项目类别:青年科学基金项目
Ibrutinib下调MDSCs逆转PD-1抗体治疗晚期非小细胞肺癌耐药的机制探究
- 批准号:81702268
- 批准年份:2017
- 资助金额:20.0 万元
- 项目类别:青年科学基金项目
基于小波-卡尔曼滤波的二维离散随机系统鲁棒H∞控制
- 批准号:61603034
- 批准年份:2016
- 资助金额:20.0 万元
- 项目类别:青年科学基金项目
密集无线网络分布式和鲁棒性传输理论与方法
- 批准号:61571107
- 批准年份:2015
- 资助金额:57.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
SHF:Small:RUI: Deep Induction Rules for Advanced Data Types
SHF:Small:RUI:高级数据类型的深度归纳规则
- 批准号:
2203217 - 财政年份:2022
- 资助金额:
$ 51.08万 - 项目类别:
Standard Grant