An Extensive Empirical Study of Nondeterministic Behavior in Static Analysis Tools


연구 분야: Strategies



학회: ICSE '25: Proceedings of the IEEE/ACM 47th International Conference on Software Engineering


초록

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.


Author Profile
Miao Miao

University of Texas at Dallas Richardson TX USA

Austria
Author Profile
Austin Mordahl

University of Texas at Dallas Richardson TX USA

Austria
Author Profile
Dakota Soles

University of Texas at Dallas Richardson TX USA

Austria

📄 논문 정보

발행 연도 2025년
인용수 0
출판 국가 Austria
사이트 ACM
좋아요 수 0

연관 논문 목록 (183건)