FMitF: Verifying Concurrent System Software with Cspec
FMITF:使用 Cspec 验证并发系统软件
基本信息
- 批准号:1836712
- 负责人:
- 金额:$ 75万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2018
- 资助国家:美国
- 起止时间:2018-11-01 至 2022-10-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Most computer systems involve concurrency---multiple threads, cores, or computers executing at the same time and interacting with one another. Developing concurrent software is error-prone, because the concurrent threads can interact in many unexpected ways, and it is easy for developers to overlook subtle corner-case interactions. This project will tackle this problem through the use of machine-checked proofs for concurrent software: that is, it will focus on helping developers to provide a mathematical proof that the software will execute according to its specification, for any possible interaction among the concurrent threads. As a driving example, this project will develop a verified concurrent multicore file system. This project's novelty lies in its approach for specifying and proving concurrent software that reduces the number of thread interactions that the developer must reason about, while still providing a full proof of correctness. The expected impact of this project will be a set of ideas, techniques, and tools for specifying and proving concurrent systems software. Since concurrent software plays such a critical role in computer systems, being able to verify correctness of key software components will improve reliability and security of many systems.The specific research contributions of this project will center around CSPEC, a framework for formal verification of concurrent software, which will help developers ensure that no corner cases are missed. The key challenge faced by CSPEC is to reduce the number of interactions, or interleavings, that developers must consider in their proofs. CSPEC addresses this challenge using so-called mover types to reorder commutative operations. Mover types enable developers to reason about largely sequential executions rather than all possible interleavings. CSPEC also provides a library of proof patterns for common styles of concurrency, including retry loops, state partitioning, and cooperative enforcement of rules between threads or processes. In the process of developing a verified concurrent file system on top of CSPEC, the investigators will address additional research challenges, such as formulating a specification for a POSIX file system under concurrency, integrating reasoning about crash safety and concurrency, managing the complexity of proving a sophisticated concurrent file system, and generating efficient concurrent code to achieve high performance while preserving correctness. As part of this project, the research team will also develop a course focused on formal reasoning about computer systems, which includes concurrency, reliability, and fault-tolerance.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.
大多数计算机系统涉及并发性-多个同时执行并相互交互的线程、核心或计算机。开发并发软件很容易出错,因为并发线程可以以许多意想不到的方式进行交互,并且开发人员很容易忽略细微的角例交互。这个项目将通过使用并发软件的机器检查证明来解决这个问题:也就是说,它将专注于帮助开发人员提供软件将根据其规范执行的数学证明,对于并发线程之间任何可能的交互。作为一个驱动示例,该项目将开发一个经过验证的并发多核文件系统。这个项目的新奇之处在于它指定和证明并发软件的方法,这种方法减少了开发人员必须推理的线程交互的数量,同时仍然提供了完全的正确性证明。该项目的预期影响将是一套用于指定和证明并发系统软件的想法、技术和工具。由于并发软件在计算机系统中起着至关重要的作用,能够验证关键软件组件的正确性将提高许多系统的可靠性和安全性。本项目的具体研究贡献将围绕并发软件的形式化验证框架CSPEC来进行,它将帮助开发人员确保不会遗漏任何角落案例。CSPEC面临的关键挑战是减少开发人员在证明中必须考虑的交互或交错的数量。CSPEC使用所谓的移动器类型来重新排序交换操作,以解决这一挑战。Mover类型使开发人员能够在很大程度上推理顺序执行,而不是所有可能的交错。CSPEC还为常见的并发样式提供了一个证明模式库,包括重试循环、状态分区以及线程或进程之间规则的协作实施。在CSPEC上开发验证并发文件系统的过程中,研究人员将解决其他研究挑战,如制定并发下的POSIX文件系统规范,集成关于崩溃安全和并发的推理,管理复杂并发文件系统证明的复杂性,以及生成高效的并发代码以在保持正确性的情况下实现高性能。作为该项目的一部分,研究团队还将开发一门专注于计算机系统的形式推理的课程,其中包括并发性、可靠性和容错性。该奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。
项目成果
期刊论文数量(4)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Argosy: verifying layered storage systems with recovery refinement
- DOI:10.1145/3314221.3314585
- 发表时间:2019-06
- 期刊:
- 影响因子:0
- 作者:Tej Chajed;Joseph Tassarotti;M. Kaashoek;Nickolai Zeldovich
- 通讯作者:Tej Chajed;Joseph Tassarotti;M. Kaashoek;Nickolai Zeldovich
GoJournal: a verified, concurrent, crash-safe journaling system
GoJournal:经过验证、并发、防崩溃的日志系统
- DOI:
- 发表时间:2021
- 期刊:
- 影响因子:0
- 作者:Chajed, Tej;Tassarotti, Joseph;Theng, Mark;Jung, Ralf;Kaashoek, M. Frans;Zeldovich, Nickolai
- 通讯作者:Zeldovich, Nickolai
Verifying the DaisyNFS concurrent and crash-safe file system with sequential reasoning
使用顺序推理验证 DaisyNFS 并发和崩溃安全文件系统
- DOI:
- 发表时间:2022
- 期刊:
- 影响因子:0
- 作者:Chajed, Tej;Tassarotti, Joseph;Theng, Mark;Kaashoek, M. Frans;Zeldovich, Nickolai
- 通讯作者:Zeldovich, Nickolai
Verifying concurrent, crash-safe systems with Perennial
使用 Perennial 验证并发、防碰撞系统
- DOI:10.1145/3341301.3359632
- 发表时间:2019
- 期刊:
- 影响因子:0
- 作者:Chajed, Tej;Tassarotti, Joseph;Kaashoek, Frans;Zeldovich, Nickolai
- 通讯作者:Zeldovich, Nickolai
{{
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 }}
Nickolai Zeldovich其他文献
Aardvark: An Asynchronous Authenticated Dictionary with Applications to Account-based Cryptocurrencies
Aardvark:异步认证字典,适用于基于账户的加密货币
- DOI:
- 发表时间:
2022 - 期刊:
- 影响因子:0
- 作者:
Derek Leung;Y. Gilad;S. Gorbunov;Leonid Reyzin;Nickolai Zeldovich - 通讯作者:
Nickolai Zeldovich
A Trigger-Based Middleware Cache for ORMs
基于触发器的 ORM 中间件缓存
- DOI:
- 发表时间:
2011 - 期刊:
- 影响因子:0
- 作者:
Priya Gupta;Nickolai Zeldovich;S. Madden - 通讯作者:
S. Madden
Optimizing unit test execution in large software programs using dependency analysis
使用依赖性分析优化大型软件程序中的单元测试执行
- DOI:
- 发表时间:
2013 - 期刊:
- 影响因子:0
- 作者:
Taesoo Kim;Ramesh Chandra;Nickolai Zeldovich - 通讯作者:
Nickolai Zeldovich
Guidelines for Using the CryptDB System Securely
安全使用 CryptDB 系统的指南
- DOI:
- 发表时间:
2015 - 期刊:
- 影响因子:0
- 作者:
Raluca A. Popa;Nickolai Zeldovich;H. Balakrishnan - 通讯作者:
H. Balakrishnan
Yodel: Strong Metadata Security for Real-Time Voice Calls
Yodel:实时语音通话的强大元数据安全性
- DOI:
- 发表时间:
2019 - 期刊:
- 影响因子:0
- 作者:
Y. Gilad;Nickolai Zeldovich - 通讯作者:
Nickolai Zeldovich
Nickolai Zeldovich的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Nickolai Zeldovich', 18)}}的其他基金
Collaborative Research: FMitF: Track I: The Phlox framework for verifying a high-performance distributed database
合作研究:FMitF:第一轨:用于验证高性能分布式数据库的 Phlox 框架
- 批准号:
2319167 - 财政年份:2023
- 资助金额:
$ 75万 - 项目类别:
Standard Grant
SaTC: CORE: Medium: Verifying Hardware Security Modules with Information-Preserving Refinement
SaTC:核心:中:通过信息保留改进验证硬件安全模块
- 批准号:
2225441 - 财政年份:2022
- 资助金额:
$ 75万 - 项目类别:
Continuing Grant
Collaborative Research: FMitF: Track I: Composable Verification of Crash-Safe Distributed Systems with Grove
合作研究:FMitF:第一轨:使用 Grove 对崩溃安全分布式系统进行可组合验证
- 批准号:
2123864 - 财政年份:2021
- 资助金额:
$ 75万 - 项目类别:
Standard Grant
SaTC: CORE: Small: verifying security for data non-interference
SaTC:核心:小:验证数据互不干扰的安全性
- 批准号:
1812522 - 财政年份:2018
- 资助金额:
$ 75万 - 项目类别:
Standard Grant
CAREER: System-Wide Intrusion Recovery Using Selective Re-execution
职业:使用选择性重新执行进行系统范围的入侵恢复
- 批准号:
1053143 - 财政年份:2011
- 资助金额:
$ 75万 - 项目类别:
Continuing Grant
相似海外基金
Verifying concurrent algorithms on Weak Memory Models
验证弱内存模型上的并发算法
- 批准号:
EP/M017044/1 - 财政年份:2015
- 资助金额:
$ 75万 - 项目类别:
Research Grant
Verifying concurrent algorithms on Weak Memory Models
验证弱内存模型上的并发算法
- 批准号:
EP/M017176/1 - 财政年份:2015
- 资助金额:
$ 75万 - 项目类别:
Research Grant
Mathematical models for specifying and verifying concurrent object-oriented systems
用于指定和验证并发面向对象系统的数学模型
- 批准号:
25433-2010 - 财政年份:2014
- 资助金额:
$ 75万 - 项目类别:
Discovery Grants Program - Individual
Mathematical models for specifying and verifying concurrent object-oriented systems
用于指定和验证并发面向对象系统的数学模型
- 批准号:
25433-2010 - 财政年份:2013
- 资助金额:
$ 75万 - 项目类别:
Discovery Grants Program - Individual
Mathematical models for specifying and verifying concurrent object-oriented systems
用于指定和验证并发面向对象系统的数学模型
- 批准号:
25433-2010 - 财政年份:2012
- 资助金额:
$ 75万 - 项目类别:
Discovery Grants Program - Individual
Verifying Concurrent Lock-free Algorithms
验证并发无锁算法
- 批准号:
EP/J003727/1 - 财政年份:2012
- 资助金额:
$ 75万 - 项目类别:
Research Grant
Mathematical models for specifying and verifying concurrent object-oriented systems
用于指定和验证并发面向对象系统的数学模型
- 批准号:
25433-2010 - 财政年份:2011
- 资助金额:
$ 75万 - 项目类别:
Discovery Grants Program - Individual
Mathematical models for specifying and verifying concurrent object-oriented systems
用于指定和验证并发面向对象系统的数学模型
- 批准号:
25433-2010 - 财政年份:2010
- 资助金额:
$ 75万 - 项目类别:
Discovery Grants Program - Individual
SHF: Small: Verifying Open Concurrent Real Time Systems
SHF:小型:验证开放并发实时系统
- 批准号:
1016989 - 财政年份:2010
- 资助金额:
$ 75万 - 项目类别:
Standard Grant
SHF: Small: Specifying and Verifying Essential Deterministic Behavior of Concurrent Programs
SHF:小:指定和验证并发程序的基本确定性行为
- 批准号:
1018730 - 财政年份:2010
- 资助金额:
$ 75万 - 项目类别:
Standard Grant