Efficient Path-Sensitive Data-Dependence Analysis
Peisen Yao, Jinguo Zhou, Xiao Xiao, Qingkai Shi, Rongxin, Wu, Charles Zhang

TL;DR
This paper introduces a scalable, path- and context-sensitive data-dependence analysis that efficiently handles aliasing and disjunctive reasoning, improving precision and scalability in large codebases.
Contribution
It proposes a novel sparse, demand-driven approach that combines symbolic value-flow graphs with transitive dependence resolution, addressing aliasing-path explosion effectively.
Findings
Significant improvements in analysis precision.
Enhanced scalability demonstrated on large codebases.
Outperforms state-of-the-art techniques in experiments.
Abstract
This paper presents a scalable path- and context-sensitive data-dependence analysis. The key is to address the aliasing-path-explosion problem via a sparse, demand-driven, and fused approach that piggybacks the computation of pointer information with the resolution of data dependence. Specifically, our approach decomposes the computational efforts of disjunctive reasoning into 1) a context- and semi-path-sensitive analysis that concisely summarizes data dependence as the symbolic and storeless value-flow graphs, and 2) a demand-driven phase that resolves transitive data dependence over the graphs. We have applied the approach to two clients, namely thin slicing and value flow analysis. Using a suite of 16 programs ranging from 13 KLoC to 8 MLoC, we compare our techniques against a diverse group of state-of-the-art analyses, illustrating significant precision and scalability advantages…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Security and Verification in Computing
