SHF: Medium: DeepSEA: A Language for Programming and Synthesizing Certified Software

SHF:媒介:DeepSEA:一种用于编程和综合认证软件的语言

基本信息

  • 批准号:
    1763399
  • 负责人:
  • 金额:
    $ 80万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Continuing Grant
  • 财政年份:
    2018
  • 资助国家:
    美国
  • 起止时间:
    2018-06-01 至 2024-05-31
  • 项目状态:
    已结题

项目摘要

Building certifiably reliable and secure software is one of the grand challenges facing today's computing community. Despite the extensive progress in programming languages in the past few decades, today's mainstream operating systems and hypervisors are still written in C-like low-level languages. There seems to be an inherent conflict between high-level formal reasoning and low-level systems programming: the former relies on a rich theory at a high abstraction level while the latter must manipulate and manage low-level effects and hardware resources. The chief novelties of this project are (1) to design and implement a new language (named DeepSEA) that can be used to tackle this inherent conflict and directly program and synthesize certified software, and (2) to develop a DeepSEA toolchain and apply it to build certified OS kernels and Ethereum-style smart contracts. The project's impacts are demonstrated in multiple ways. The technology for building certified software will have a profound impact on the software industry and the society in general; it will dramatically improve the reliability and security of many key components in the world's critical infrastructure. The project would catalyze a change in the way computing science is taught at U.S. universities, by pushing new courses on formal methods into the existing curriculum; it would broaden the participation of underrepresented groups and give U.S. students a unique combination of technical training and international experience in this cutting-edge field.Certified programming is a unique challenge for language design: both operating systems and smart contracts are inherently low-level and effectful, while software verification requires high-level abstractions and pure functions. Recent projects on OS kernel verification required writing (manually) the actual kernel in a C-like language and a formal specification of the kernel in a proof-assistant language; a large part of the verification effort is then spent on showing that the implementation indeed satisfies the specification. DeepSEA bridges this chasm automatically---from a single input program, one can derive the relation between abstract data types and bytes, and between functional specification and concrete implementation. Instead of having to choose between high- and low-level languages, DeepSEA can have the best of both. The DeepSEA language provides native support for layered specification and abstraction refinement, full equational reasoning, a functional model of effects (including concurrency), and effect encapsulation and composition: consequently it directly supports certified programming at multiple abstraction levels. Using DeepSEA, a programmer need only to write the formal specification of a desirable system; then the DeepSEA compiler will automatically compile the DeepSEA program into a certified artifact consisting of a C program (which is then compiled into assembly by the verified C compiler, CompCert), a Coq specification, and a formal (Coq) proof that the C program satisfies the specification. The project opens up a new space of language designs that can directly support the development of correct-by-construction system software.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.
构建可证明可靠和安全的软件是当今计算社区面临的重大挑战之一。尽管在过去的几十年里编程语言取得了广泛的进步,但今天的主流操作系统和虚拟机管理程序仍然是用类似C的低级语言编写的。 高级形式推理和低级系统编程之间似乎存在着内在的冲突:前者依赖于高抽象层次上的丰富理论,而后者必须操纵和管理低级效果和硬件资源。 该项目的主要创新之处在于:(1)设计和实现一种新的语言(名为DeepSEA),可用于解决这种内在冲突,并直接编程和合成认证软件;(2)开发DeepSEA工具链,并将其应用于构建认证的操作系统内核和以太坊风格的智能合约。该项目的影响体现在多个方面。构建认证软件的技术将对软件行业和整个社会产生深远的影响;它将大大提高世界关键基础设施中许多关键组件的可靠性和安全性。该项目将促进美国大学计算机科学教学方式的改变,将正式方法的新课程纳入现有课程;它将扩大代表性不足的群体的参与,并为美国学生提供这一前沿领域的技术培训和国际经验的独特组合。认证编程对语言设计来说是一个独特的挑战:操作系统和智能合约本质上都是低层次和有效的,而软件验证需要高层次的抽象和纯功能。 最近的OS内核验证项目需要(手动)编写类似C语言的实际内核和证明辅助语言中的内核正式规范;大部分验证工作都花在显示实现确实满足规范上。 DeepSEA自动弥合了这一鸿沟--从单个输入程序中,可以导出抽象数据类型和字节之间的关系,以及功能规范和具体实现之间的关系。DeepSEA不必在高级语言和低级语言之间进行选择,而是可以两者兼得。 DeepSEA语言为分层规范和抽象细化、完整的等式推理、效果的功能模型(包括并发)以及效果封装和组合提供了原生支持:因此它直接支持多个抽象级别的认证编程。 使用DeepSEA,程序员只需编写所需系统的形式规范;然后DeepSEA编译器将自动将DeepSEA程序编译成由C程序(然后由经过验证的C编译器CompCert编译成汇编),Coq规范和C程序满足规范的形式(Coq)证明组成的认证工件。该项目开辟了一个新的语言设计空间,可以直接支持构建正确的系统软件的开发。该奖项反映了NSF的法定使命,并通过使用基金会的智力价值和更广泛的影响审查标准进行评估,被认为值得支持。

项目成果

期刊论文数量(17)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Blinder: Partition-Oblivious Hierarchical Scheduling
Blinder:忽略分区的分层调度
CompCertELF: verified separate compilation of C programs into ELF object files
Verified compilation of C programs with a nominal memory model
  • DOI:
    10.1145/3498686
  • 发表时间:
    2022-01
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Yuting Wang;Ling Zhang;Zhong Shao;Jérémie Koenig
  • 通讯作者:
    Yuting Wang;Ling Zhang;Zhong Shao;Jérémie Koenig
ADLP: Accountable Data Logging Protocol for Publish-Subscribe Communication Systems
Refinement-Based Game Semantics and Certified Abstraction Layers
基于细化的游戏语义和经过认证的抽象层
{{ 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 }}

Zhong Shao其他文献

Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2009, Savannah, GA, USA, January 21-23, 2009
第 36 届 ACM SIGPLAN-SIGACT 编程语言原理研讨会论文集,POPL 2009,美国佐治亚州萨凡纳,2009 年 1 月 21-23 日
Clean-Slate Development of Certified OS Kernels
TIL: a type-directed, optimizing compiler for ML
TIL:用于 ML 的类型导向优化编译器
  • DOI:
    10.1145/989393.989449
  • 发表时间:
    2004
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Zhong Shao
  • 通讯作者:
    Zhong Shao
Compiling standard ML for efficient execution on modern machines
  • DOI:
  • 发表时间:
    1994-12
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Zhong Shao
  • 通讯作者:
    Zhong Shao
Reasoning about Optimistic Concurrency Using a Program Logic for History
使用历史程序逻辑推理乐观并发

Zhong Shao的其他文献

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

{{ truncateString('Zhong Shao', 18)}}的其他基金

SHF: Small: Compositional Certified Concurrent Abstraction Layers
SHF:小型:组合认证的并发抽象层
  • 批准号:
    2313433
  • 财政年份:
    2023
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
PPoSS: Planning: High-Performance Certified Trust for Global-Scale Applications
PPoSS:规划:全球规模应用程序的高性能认证信任
  • 批准号:
    2118851
  • 财政年份:
    2021
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
FMitF: Track I: ADVERT: Compositional Atomic Specifications for Distributed System Verification
FMITF:轨道 I:ADVERT:分布式系统验证的组合原子规范
  • 批准号:
    2019285
  • 财政年份:
    2020
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
SaTC: CORE: Small: Formal End-to-End Verification of Information-Flow Security for Complex Systems
SaTC:核心:小型:复杂系统信息流安全的正式端到端验证
  • 批准号:
    1715154
  • 财政年份:
    2017
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
NeTS: Small: A Virtualized Network Resource Pool for Software-Defined Network Management
NeTS:小型:用于软件定义网络管理的虚拟化网络资源池
  • 批准号:
    1712674
  • 财政年份:
    2016
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
AitF: The Fuzzy Log: A Unifying Abstraction for the Theory and Practice of Distributed Systems
AitF:模糊日志:分布式系统理论与实践的统一抽象
  • 批准号:
    1637385
  • 财政年份:
    2016
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: Expeditions in Computing: The Science of Deep Specification
合作研究:计算探索:深度规范的科学
  • 批准号:
    1521523
  • 财政年份:
    2015
  • 资助金额:
    $ 80万
  • 项目类别:
    Continuing Grant
SHF: Small: VeriQ: Formal Quantitative Software Verification in Realistic Application Scenarios
SHF:小型:VeriQ:现实应用场景中的形式化定量软件验证
  • 批准号:
    1319671
  • 财政年份:
    2013
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
TC: Medium: Making OS Kernels Crash-Proof by Design and Certification
TC:中:通过设计和认证使操作系统内核防崩溃
  • 批准号:
    1065451
  • 财政年份:
    2011
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
TC:Large:Collaborative Research:Combininig Foundational and Lightweight Formal Methods to Build Certifiably Dependable Software
TC:大型:协作研究:结合基础方法和轻量级形式方法来构建可证明可靠的软件
  • 批准号:
    0910670
  • 财政年份:
    2009
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant

相似海外基金

Collaborative Research: CyberTraining: Implementation: Medium: Training Users, Developers, and Instructors at the Chemistry/Physics/Materials Science Interface
协作研究:网络培训:实施:媒介:在化学/物理/材料科学界面培训用户、开发人员和讲师
  • 批准号:
    2321102
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
RII Track-4:@NASA: Bluer and Hotter: From Ultraviolet to X-ray Diagnostics of the Circumgalactic Medium
RII Track-4:@NASA:更蓝更热:从紫外到 X 射线对环绕银河系介质的诊断
  • 批准号:
    2327438
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: Topological Defects and Dynamic Motion of Symmetry-breaking Tadpole Particles in Liquid Crystal Medium
合作研究:液晶介质中对称破缺蝌蚪粒子的拓扑缺陷与动态运动
  • 批准号:
    2344489
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: AF: Medium: The Communication Cost of Distributed Computation
合作研究:AF:媒介:分布式计算的通信成本
  • 批准号:
    2402836
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Continuing Grant
Collaborative Research: AF: Medium: Foundations of Oblivious Reconfigurable Networks
合作研究:AF:媒介:遗忘可重构网络的基础
  • 批准号:
    2402851
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Continuing Grant
Collaborative Research: CIF: Medium: Snapshot Computational Imaging with Metaoptics
合作研究:CIF:Medium:Metaoptics 快照计算成像
  • 批准号:
    2403122
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Differentiable Hardware Synthesis
合作研究:SHF:媒介:可微分硬件合成
  • 批准号:
    2403134
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Enabling Graphics Processing Unit Performance Simulation for Large-Scale Workloads with Lightweight Simulation Methods
合作研究:SHF:中:通过轻量级仿真方法实现大规模工作负载的图形处理单元性能仿真
  • 批准号:
    2402804
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: CIF-Medium: Privacy-preserving Machine Learning on Graphs
合作研究:CIF-Medium:图上的隐私保护机器学习
  • 批准号:
    2402815
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Medium: Tiny Chiplets for Big AI: A Reconfigurable-On-Package System
合作研究:SHF:中:用于大人工智能的微型芯片:可重新配置的封装系统
  • 批准号:
    2403408
  • 财政年份:
    2024
  • 资助金额:
    $ 80万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了