paperbot · PL 论文追踪

全部论文 待读 收藏

P2 VBSAC: a value-based static analyzer for C

VBSAC:面向 C 语言的基于值的静态分析器
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 4/10 · 该论文属于传统静态程序分析与抽象解释,关注 C 程序缺陷检测中的值分析与精度/召回率,与用户核心方向(PL 与 LLM/Agent 交叉、浮点或贝叶斯程序分析)没有直接关联;仅可作为静态分析工程实现与工具落地的背景参考。引用 1 inbox
Chi Li, Min Zhou, Zuxing Gu, Guang Chen, Yuexing Wang, Jiecheng Wu, Ming Gu
crossref: 2026-09-12

AI 速览

一句话:提出可插拔的基于值静态分析器 VBSAC,通过多值分析插件共享信息提升 C 程序缺陷检测精度与召回率。

静态分析是早期发现程序缺陷、提升软件质量的重要手段,但实际工具往往难以在误报率与漏报率之间取得平衡。本文提出 VBSAC,一个面向 C 语言的基于值的静态分析器,旨在同时提高精度与召回率。该工具采用可插拔的基于值分析策略:设计内存骨架记录器(memory skeleton recorder)将内存对象维护为分析基线;在遍历控制流图时,多个基于值的插件分别分析特定抽象域,并通过共享程序信息相互增强计算;同时,检查器消费相应分析结果来检测缺陷。工具还提供友好的 Web 界面帮助用户审计缺陷检测结果。在两个广泛使用的基准上,VBSAC 相比当前最先进的缺陷检测工具多发现 221 至 339 个缺陷,F-Score 提升 9.88% 至 40.32%。

问题
现有静态分析工具在实际使用中难以同时控制误报率与漏报率,导致缺陷检测的精度与召回率受限。
方法
VBSAC 采用可插拔的基于值分析策略,以内存骨架记录器维护内存对象基线,并在控制流图遍历中让多个值分析插件分析不同抽象域、共享程序信息,最后由检查器消费结果检测缺陷,并提供 Web 界面辅助审计。
评估
在两个广泛使用的基准上,与当前最先进的缺陷检测工具进行比较,VBSAC 多发现 221-339 个缺陷,F-Score 提升 9.88%-40.32%。
原文摘要(Abstract)

Static analysis has long prevailed as a promising approach to detect program bugs at an early development process to increase software quality. However, such tools face great challenges to balance the false-positive rate and the false-negative rate in practical use. In this paper, we present VBSAC, a value-based static analyzer for C aiming to improve the precision and recall. In our tool, we employ a pluggable value-based analysis strategy. A memory skeleton recorder is designed to maintain the memory objects as a baseline. While traversing the control flow graph, diverse value-based plug-ins analyze the specific abstract domains and share program information to strengthen the computation. Simultaneously, checkers consume the corresponding analysis results to detect bugs. We also provide a user-friendly web interface to help users audit the bug detection results. Evaluation on two widely-used benchmarks shows that we perform better to state-of-the-art bug detection tools by finding 221-339 more bugs and improving F-Score 9.88%-40.32%.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5359,
  title = {VBSAC: a value-based static analyzer for C},
  author = {Chi Li and Min Zhou and Zuxing Gu and Guang Chen and Yuexing Wang and Jiecheng Wu and Ming Gu},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3338998}
}