paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CBMC-SSM: Bounded Model Checking of C Programs with Symbolic Shadow Memory

CBMC-SSM:带符号影子内存的 C 程序有界模型检测
ASE Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering2022匹配度 3/10 · 论文属于程序验证/静态分析中的有界模型检测与符号影子内存扩展,虽与形式化验证背景相关,但未涉及 LLM/Agent 与静态分析/形式化验证的交叉,也不属于浮点程序分析或贝叶斯程序分析方向。引用 1 inbox
Bernd Fischer, Salvatore La Torre, Gennaro Parlato, Peter Schrammel
crossref: 2026-09-12

AI 速览

一句话:为 CBMC 实现符号影子内存扩展,并通过代码翻译构造数据竞争分析器。

动态程序分析工具(如 Eraser、TaintCheck、ThreadSanitizer)会对各内存位置的内容进行抽象,并把抽象结果存入影子内存,以高效实现分析。本文为 CBMC 有界模型检测器实现了一种高效的符号影子内存扩展,用户可通过 API 访问,并概述了其在新型数据竞争分析器设计中的使用。该分析器通过代码到代码翻译实现,因而可复用 CBMC-SSM 提供的符号影子内存能力。论文重点在于扩展的设计与实现,并以数据竞争分析为例展示其可用性,而非报告大规模实验评估。

问题
CBMC 等有界模型检测器缺少对影子内存抽象的原生支持,难以直接复用动态分析中常见的元信息来构建分析。
方法
论文实现 CBMC-SSM,为 CBMC 增加高效符号影子内存扩展并提供 API,且通过代码到代码翻译将其用于数据竞争分析器设计。
评估
评估以设计案例形式展示 CBMC-SSM 在构造数据竞争分析器时的可用性,摘要未报告量化实验结果。
原文摘要(Abstract)

Dynamic program analysis tools such as Eraser, TaintCheck, or ThreadSanitizer abstract the contents of individual memory locations and store the abstraction results in a separate data structure called shadow memory. They then use this meta-information to efficiently implement the actual analyses. In this paper, we describe the implementation of an efficient symbolic shadow memory extension for the CBMC bounded model checker that can be accessed through an API, and sketch its use in the design of a new data race analyzer that is implemented by a code-to-code translation.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot7251,
  title = {CBMC-SSM: Bounded Model Checking of C Programs with Symbolic Shadow Memory},
  author = {Bernd Fischer and Salvatore La Torre and Gennaro Parlato and Peter Schrammel},
  booktitle = {ASE},
  year = {2022},
  doi = {10.1145/3551349.3559523}
}