paperbot · PL 论文追踪

全部论文 待读 收藏

P2 An Extensive Empirical Study of Nondeterministic Behavior in Static Analysis Tools

静态分析工具中非确定性行为的广泛实证研究
ICSE 2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE)2025匹配度 3/10 · 该论文属于静态分析工具的可靠性与实证研究,讨论了非确定性行为的成因和修复,但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户画像中的核心交叉方向无直接关联。它可作为静态分析工程背景参考,但不是当前追的问题。引用 1 inbox
Miao Miao, Austin Mordahl, Dakota Soles, Alice Beideck, Shiyi Wei
crossref: 2026-09-12

AI 速览

一句话:首次对12个主流静态分析工具的非确定性行为开展大规模实证研究,揭示其成因并发现未知问题。

静态分析工具在设计与实现上存在诸多非确定性行为的风险因素,但此前尚无工作系统分析这类行为在实际工具中的发生情况。本文针对12个流行的开源静态分析工具(覆盖5类项目)开展广泛的实证研究。首先进行定性研究,考察这些工具仓库中已被发现和处理的非确定性行为,在7个仓库中找到相关记录,并按根因对issue与commit分类,发现多数非确定性由并发问题、错误的分析逻辑或对无序数据结构的假定顺序引起,且具有共性模式。随后进行定量分析,采用两种策略并结合多样化的输入程序与配置来检测尚未被发现的非确定性行为,在12个工具中的8个发现此类行为,其中3个在定性分析中并无结果;这些非确定性常出现在多种配置和各类输入程序上。作者将全部发现报告给开发者,其中5个工具得到确认,最后通过修复FlowDroid非确定性行为的案例研究加以说明。

问题
静态分析工具存在多种非确定性行为风险因素,但尚无工作分析这类行为在这些工具中的实际发生情况与成因。
方法
对12个开源静态分析工具开展定性与定量相结合的实证研究:定性分析7个工具仓库中的issue与commit并按根因分类;定量采用两种策略,结合多样输入程序与配置检测未知的非确定性行为。
评估
在12个工具中的8个发现非确定性行为,其中3个在定性分析中未出现;向开发者报告后5个工具得到确认,并通过FlowDroid修复案例研究加以展示。
原文摘要(Abstract)

Recent research has studied the importance and identified causes of nondeterminism in software. Static analysis tools exhibit many risk factors for nondeterministic behavior, but no work has analyzed the occurrence of such behavior in these tools. To bridge this gap, we perform an extensive empirical study aiming to understand past and ongoing nondeterminism in 12 popular, open-source static analysis tools that target 5 types of projects. We first conduct a qualitative study to understand the extent to which nondeterministic behavior has been found and addressed within the tools under study, and find results in 7 tool repositories. After classifying the issues and commits by root cause, we find that the majority of nondeterminisms are caused by concurrency issues, incorrect analysis logic, or assumed orderings of unordered data structures, which have shared patterns. We also perform a quantitative analysis, where we use two strategies and diverse input programs and configurations to detect yet-unknown nondeterministic behaviors. We discover such behavior in 8 out of the 12 tools, including 3 which had no results from the qualitative analysis. We find that nondeterminism often appears in multiple configurations on a variety of input programs. We communicated all identified nondeterminism to the developers, and received confirmation of five tools. Finally, we detail a case study of fixing FlowDroid's nondeterministic behavior.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8764,
  title = {An Extensive Empirical Study of Nondeterministic Behavior in Static Analysis Tools},
  author = {Miao Miao and Austin Mordahl and Dakota Soles and Alice Beideck and Shiyi Wei},
  booktitle = {ICSE},
  year = {2025},
  doi = {10.1109/icse55347.2025.00125}
}