SHF: Medium: Collaborative Research: Principled Optimizing Compilation of Dependently Typed Languages
SHF: Medium: Collaborative Research: Principled Optimizing Compilation of Dependently Typed Languages
批准号:
1407790
负责人:
John Morrisett
金额:
$60.0万
依托单位:
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2014
资助国家:
美国
项目状态:
已结题
起止时间:
2014-07-01 至 2015-10-31
中文摘要
标题:SHF:媒介:协作研究:依赖类型语言的原则优化编译该项目重点关注一种具有程序验证的软件工程形式:编写带有逻辑的、机器可检查的正确性、可靠性或安全性证明的程序。 对于用传统编程语言编写的程序可以进行这样的证明,但是这些语言的“证明理论”复杂且困难,这使得验证既耗时又昂贵。 新的“依赖类型”编程语言使用函数式编程原理和高级类型系统来实现更流畅、更清晰的证明理论,从而使验证软件(用这些新语言编写的)的正确性和安全性变得更加容易。 在这个项目中,研究的目的是为这些新语言构建高效且经过验证正确的编译器。其智力优势在于依赖类型、纯函数式上下文中出现的挑战和机遇,例如 Coq 证明助手。 仅在这种情况下出现的令人兴奋的机会是能够为任何子项选择求值顺序(因为 Coq 的语言是纯粹且完整的),能够打开编译器来支持用户指定(并经过认证)的重写规则,以支持特定于应用程序的优化,以及程序员能够使用 Coq 的归纳构造微积分(CiC)证明理论来验证他们的程序。 我们面临的挑战是这种环境所特有的,包括需要确定和删除那些与计算无关的术语。 一个主要的基本挑战是在执行降低转换时尝试保留类型(以及证明),例如转换为连续传递样式(CPS)或静态单一赋值(SSA)。 我们的策略是在可能的情况下使用类型和保留证明的编译,以证明基于模拟的正确性概念。 更广泛的影响将包括 (1) 关于 Coq 中经过验证的函数式编程的教学材料; (二)研究生培养; (3) 软件工程实践的改进,以实现实际验证的函数式编程。
英文摘要
Title: SHF: Medium: Collaborative Research: Principled Optimizing Compilation of Dependently Typed LanguagesThe project focuses on a form of software engineering with program verification: writing programs with logical, machine-checkable proofs of correctness, reliability, or security. Such proofs can be done for programs written in conventional programming languages, but the "proof theory" of these languages is complex and difficult, which makes verification time-consuming and expensive. New, "dependently typed" programming languages use principles of functional programming and advanced type systems to achieve a smoother and cleaner proof theory, so that verifying the correctness and safety of software (written in these new languages) is much easier. In this project, the research is to build compilers for these new languages that are efficient and are verified correct.The intellectual merits are in the challenges and opportunities that occur in dependently typed, purely functional contexts, such as the Coq proof assistant. The exciting opportunities that arise only in this context are the ability to choose evaluation order for any sub-term (since Coq's language is pure and total), the ability to open a compiler to user-specified (and certified) rewrite rules that support application-specific optimization, and the ability of programmers to use the Calculus of Inductive Constructions (CiC) proof theory of Coq to verify their programs. The challenges we face, unique to this setting, include the need to determine and erase those terms that are computationally irrelevant. A major foundational challenge is attempting to preserve types (and hence proofs) as we perform lowering transformations, such as conversion to continuation-passing style (CPS) or static single assignment (SSA). Our strategy is to use type and proof-preserving compilation where possible, and where not, to prove a simulation-based notion of correctness. The broader impacts will include (1) pedagogical materials on verified functional programming in Coq; (2) training of graduate students; and (3) improvements in software engineering practice, in enabling practical verified functional programming.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Medium: Collaborative Research: Principled Optimizing Compilation of Dependently Typed Languages
-
批准号:1559983
-
项目类别:Standard Grant
-
资助金额:$50.02万
-
财政年份:2015
-
负责人:John Morrisett
-
依托单位:
SHF: Small: Collaborative Research: Reusable Tools for Formal Modeling
-
批准号:1217891
-
项目类别:Standard Grant
-
资助金额:$21.87万
-
财政年份:2012
-
负责人:John Morrisett
-
依托单位:
TC: Large: Collaborative Research: Combining Foundational and Lightweight Formal Methods to Build Certifiably Dependable Software
-
批准号:0910660
-
项目类别:Standard Grant
-
资助金额:$57.0万
-
财政年份:2009
-
负责人:John Morrisett
-
依托单位:
TC: Small: Collaborative Research: Securing Multilingual Software Systems
-
批准号:0915030
-
项目类别:Standard Grant
-
资助金额:$21.51万
-
财政年份:2009
-
负责人:John Morrisett
-
依托单位:
Collaborative Research: Integrating Types and Verification
-
批准号:0702345
-
项目类别:Standard Grant
-
资助金额:$30.88万
-
财政年份:2007
-
负责人:John Morrisett
-
依托单位:
CAREER: Design, Applications, and Foundations of Safe, Low-Level Programming Languages
-
批准号:9875536
-
项目类别:Continuing Grant
-
资助金额:$20.5万
-
财政年份:1999
-
负责人:John Morrisett
-
依托单位:
海外基金