paperbot · PL 论文追踪

全部论文 待读 收藏

P2 An Empirical Study of Static Analysis Tools for Secure Code Review

面向安全代码评审的静态分析工具实证研究
ISSTA Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis2024匹配度 3/10 · 论文研究 SAST 在安全代码评审中的实证效果与告警优先级,属于静态分析/程序分析的应用,但与画像核心关注的 Agentic/ML 系统静态分析、LLM 与静态分析/浮点/贝叶斯交叉均无直接关系;其真实漏洞数据集和问题驱动分析有一定借鉴价值但不匹配当前主线。引用 30 inbox
Wachiraphan Charoenwet, Patanamon Thongtanunam, Van-Thuan Pham, Christoph Treude
crossref: 2026-09-12

AI 速览

一句话:通过815个真实漏洞提交实证评估C/C++ SAST在安全代码评审中的有效性与告警优先级收益。

本文研究自动化静态应用安全测试工具(SAST)在安全代码评审中的实际效果。已有工作多依赖合成或完全脆弱版本,难以反映真实代码变更。作者构建包含92个C/C++项目、815个漏洞贡献提交(VCC)和319个真实漏洞的数据集,评估SAST对脆弱函数的告警能力,并量化按SAST告警优先检查变更函数的收益。结果显示,单一SAST能在52%的VCC中告警脆弱函数;优先排序可提升12%精确率和5.6%召回率,并使首次误报检查代码量减少13%。但脆弱函数中至少76%告警与VCC无关,22%的VCC因规则局限未被发现,表明SAST支持安全评审仍存在明显缺口。

问题
现有研究对SAST在真实安全代码评审中的实际效能理解有限,且多使用合成或完全脆弱代码,不能代表真实漏洞贡献变更。
方法
构建来自92个C/C++项目、815个VCC和319个真实漏洞的数据集,用SAST分析变更函数,并评估按告警优先排序时对精确率、召回率和首次误报的影响。
评估
以真实漏洞贡献提交为基准,统计SAST对脆弱函数的告警覆盖率、告警相关性及漏报原因,量化优先级排序收益。
原文摘要(Abstract)

Early identification of security issues in software development is vital to minimize their unanticipated impacts. Code review is a widely used manual analysis method that aims to uncover security issues along with other coding issues in software projects. While some studies suggest that automated static application security testing tools (SASTs) could enhance security issue identification, there is limited understanding of SAST’s practical effectiveness in supporting secure code review. Moreover, most SAST studies rely on synthetic or fully vulnerable versions of the subject program, which may not accurately represent real-world code changes in the code review process. To address this gap, we study C/C++ SASTs using a dataset of actual code changes that contributed to exploitable vulnerabilities. Beyond SAST’s effectiveness, we quantify potential benefits when changed functions are prioritized by SAST warnings. Our dataset comprises 319 real-world vulnerabilities from 815 vulnerability-contributing commits (VCCs) in 92 C and C++ projects. The result reveals that a single SAST can produce warnings in vulnerable functions of 52% of VCCs. Prioritizing changed functions with SAST warnings can improve accuracy (i.e., 12% of precision and 5.6% of recall) and reduce Initial False Alarm (lines of code in non-vulnerable functions inspected until the first vulnerable function) by 13%. Nevertheless, at least 76% of the warnings in vulnerable functions are irrelevant to the VCCs, and 22% of VCCs remain undetected due to limitations of SAST rules. Our findings highlight the benefits and the remaining gaps of SAST-supported secure code reviews and challenges that should be addressed in future work.

链接与引用

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

BibTeX
@inproceedings{paperbot8484,
  title = {An Empirical Study of Static Analysis Tools for Secure Code Review},
  author = {Wachiraphan Charoenwet and Patanamon Thongtanunam and Van-Thuan Pham and Christoph Treude},
  booktitle = {ISSTA},
  year = {2024},
  doi = {10.1145/3650212.3680313}
}