SHF: Small: Integrating separation logic and SMT for better heap verification

SHF:小型:集成分离逻辑和 SMT 以实现更好的堆验证

基本信息

  • 批准号:
    1320583
  • 负责人:
  • 金额:
    $ 50万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2013
  • 资助国家:
    美国
  • 起止时间:
    2013-09-01 至 2017-08-31
  • 项目状态:
    已结题

项目摘要

Heap-allocated pointer structures are a common source of software errors. In particular, pointer safety errors, like memory leaks and dereferencing null or dangling pointers, often cause programs to fail or leave them vulnerable to be exploited by malware. Tools that are able to detect such errors at compile time have long been considered impractical because they scale badly to large programs. This has started to change recently with the advent of verification tools based on separation logic (SL), which scale to software components of industrial size. The aim of this project is to increase the degree of automation, precision, and soundness of today's SL-based verification tools and broaden the scope of tools that could use separation logic. Because heap-allocated data structures are among the most difficult software constructs to reason about, this work has the potential to make a significant impact on the reliability of software.SL-based tools depend on theorem provers for separation logic to automatically discharge proof obligations concerned with properties about pointer structures. Today's tools implement tailor-made provers for this task. However, the analysis of real-world programs involves reasoning about other data types including, for instance, integers, arrays, and bit-vectors. To cope with this, existing separation logic tools make simplifying (and in general unsound) assumptions, rely on interactive help from the user, or implement ad-hoc and incomplete extensions of their tailor-made provers. The PIs will investigate a more systematic approach towards combined reasoning about heap and other data types by integrating an SL theorem prover into a satisfiability modulo theories (SMT) solver. This research is motivated by the observation that reasoning about separation logic fragments can be reduced entirely to reasoning in decidable first-order theories that fit well into the SMT framework. Modern SMT solvers implement decision procedures for many first-order theories that are relevant in program verification, such as linear arithmetic, arrays, and bit-vectors. A reduction to first-order logic enables a seamless combination of separation logic with these theories. Moreover, SMT solvers are already an integral part in the tool chain of many existing verification tools. These tools could directly benefit from an integrated SL prover. In addition, we expect that specific capabilities added to the SMT solver as a result of the project will be useful to a broad set of SMT users.
堆分配的指针结构是软件错误的常见来源。特别是,指针安全错误,例如内存泄漏和删除无效的指针或悬空指针,通常会导致程序失败或使其容易受到恶意软件的利用。 能够在编译时间检测到此类错误的工具长期以来一直被认为是不切实际的,因为它们的扩展很差在大型程序上。 基于分离逻辑(SL)的验证工具的出现,最近开始改变这种情况,该工具扩展到工业大小的软件组件。 该项目的目的是提高当今基于SL的验证工具的自动化程度,精度和健全性,并扩大可以使用分离逻辑的工具范围。由于由堆分配的数据结构是最困难的软件构造之一,因此这项工作有可能对软件的可靠性产生重大影响。基于SLS的工具依赖于定理的抛光剂来使分离逻辑以自动放电证明与涉及指针结构有关的属性的证明义务。当今的工具为此任务实施量身定制的掠夺。但是,对现实世界程序的分析涉及对其他数据类型进行推理,例如,整数,数组和比特矢量。为了应对这一点,现有的分离逻辑工具可以简化(并且总的来说)假设,依靠用户的交互式帮助,或实现其量身定制的抛弃者的临时和不完整的扩展。 PI将通过将SL定理供款集成到满足性模量理论(SMT)求解器中,研究一种更系统的方法来结合有关堆和其他数据类型的合并推理。这项研究的激励是,观察到有关分离逻辑片段的推理可以完全减少到适合SMT框架中的可决定的一阶理论中的推理。现代SMT求解器针对许多与程序验证相关的一阶理论实施决策程序,例如线性算术,阵列和位向量。一阶逻辑的减少可以使分离逻辑与这些理论的无缝组合。此外,SMT求解器已经在许多现有验证工具的工具链中不可或缺。这些工具可以直接受益于集成的SL供体。此外,我们预计该项目的导致SMT求解器添加的特定功能将对大量的SMT用户有用。

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

数据更新时间:{{ journalArticles.updateTime }}

{{ 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 }}

Thomas Wies其他文献

Complete Multiparty Session Type Projection with Automata
使用自动机完成多方会话类型投影
Learning Invariants using Decision Trees
使用决策树学习不变量
  • DOI:
  • 发表时间:
    2015
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Siddharth Krishna;Christian Puhrsch;Thomas Wies
  • 通讯作者:
    Thomas Wies
A Notion of Dynamic Interface for Depth-Bounded Object-Oriented Packages
深度有限的面向对象包的动态接口概念
  • DOI:
  • 发表时间:
    2013
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Shahram Esmaeilsabzali;R. Majumdar;Thomas Wies;D. Zufferey
  • 通讯作者:
    D. Zufferey
Cascade 2.0
级联2.0
Dynamic Package Interfaces
动态包接口

Thomas Wies的其他文献

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

{{ truncateString('Thomas Wies', 18)}}的其他基金

SHF: Small: Modular Automated Verification of Concurrent Data Structures
SHF:小型:并发数据结构的模块化自动验证
  • 批准号:
    2304758
  • 财政年份:
    2023
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
NSF Student Travel Grant for 2020 Computer-Aided Verification (CAV)
NSF 2020 年计算机辅助验证 (CAV) 学生旅行补助金
  • 批准号:
    2019514
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
NSF Student Travel Grant for 2019 International Conference on Computer-Aided Verification (CAV)
2019 年计算机辅助验证 (CAV) 国际会议 NSF 学生旅费补助金
  • 批准号:
    1928837
  • 财政年份:
    2019
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small:Verifying Complex Concurrent Data Structures with Flow Interfaces
SHF:小型:使用流接口验证复杂的并发数据结构
  • 批准号:
    1815633
  • 财政年份:
    2018
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Collaborative Research: Concurrent Software Verification with Rely/Guarantee Abstractions
SHF:小型:协作研究:具有依赖/保证抽象的并发软件验证
  • 批准号:
    1618059
  • 财政年份:
    2016
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
CAREER: Abstracting Programs for Automated Debugging
职业:抽象程序以进行自动调试
  • 批准号:
    1350574
  • 财政年份:
    2014
  • 资助金额:
    $ 50万
  • 项目类别:
    Continuing Grant

相似国自然基金

员工算法规避行为的内涵结构、量表开发及多层次影响机制:基于大(小)数据研究方法整合视角
  • 批准号:
    72372021
  • 批准年份:
    2023
  • 资助金额:
    40 万元
  • 项目类别:
    面上项目
小整合膜蛋白SMIM24通过PON2介导的GLUT1质膜转位调控胃癌糖酵解和侵袭转移的机制研究
  • 批准号:
    82273410
  • 批准年份:
    2022
  • 资助金额:
    52.00 万元
  • 项目类别:
    面上项目
小整合膜蛋白SMIM24通过PON2介导的GLUT1质膜转位调控胃癌糖酵解和侵袭转移的机制研究
  • 批准号:
  • 批准年份:
    2022
  • 资助金额:
    51 万元
  • 项目类别:
    面上项目
整合深度学习和分子对接的RNA-小分子建模研究
  • 批准号:
  • 批准年份:
    2022
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
整合深度学习和分子对接的RNA-小分子建模研究
  • 批准号:
    12204118
  • 批准年份:
    2022
  • 资助金额:
    30.00 万元
  • 项目类别:
    青年科学基金项目

相似海外基金

Collaborative Research: SHF: Small: Integrating Synthesis and Optimization in Satisfiability Modulo Theories
合作研究:SHF:小型:在可满足性模理论中集成综合和优化
  • 批准号:
    2006407
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: Integrating Synthesis and Optimization in Satisfiability Modulo Theories
合作研究:SHF:小型:在可满足性模理论中集成综合和优化
  • 批准号:
    2006542
  • 财政年份:
    2020
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF:Small: Holistic Analysis: integrating the semantics of the world and the code
SHF:Small:整体分析:整合世界语义和代码
  • 批准号:
    1853374
  • 财政年份:
    2018
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF:Small: Holistic Analysis: integrating the semantics of the world and the code
SHF:Small:整体分析:整合世界语义和代码
  • 批准号:
    1718040
  • 财政年份:
    2017
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
SHF: Small: Integrating Compiler and Architecture Design to Boost Timing Speculation
SHF:小型:集成编译器和架构设计以促进时序推测
  • 批准号:
    1116610
  • 财政年份:
    2011
  • 资助金额:
    $ 50万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了