Title
Scaling Up Symbolic Analysis by Removing Z-Equivalent States
Abstract
Path explosion is a major issue in applying path-sensitive symbolic analysis to large programs. We observe that many symbolic states generated by the symbolic analysis of a procedure are indistinguishable to its callers. It is, therefore, possible to keep only one state from each set of equivalent symbolic states without affecting the analysis result. Based on this observation, we propose an equivalence relation called z-equivalence, which is weaker than logical equivalence, to relate a large number of z-equivalent states. We prove that z-equivalence is strong enough to guarantee that paths to be traversed by the symbolic analysis of two z-equivalent states are identical, giving the same solutions to satisfiability and validity queries. We propose a sound linear algorithm to detect z-equivalence. Our experiments show that the symbolic analysis that leverages z-equivalence is able to achieve more than ten orders of magnitude reduction in terms of search space. The reduction significantly alleviates the path explosion problem, enabling us to apply symbolic analysis in large programs such as Hadoop and Linux Kernel.
Year
DOI
Venue
2014
10.1145/2652484
ACM Trans. Softw. Eng. Methodol.
Keywords
Field
DocType
algorithms,experimentation,state equivalence detection,symbolic analysis,path explosion,verification,software/program verification,performance
The Symbolic,Logical equivalence,Equivalence relation,Computer science,Satisfiability,Algorithm,Theoretical computer science,Symbolic data analysis,Scaling,Linux kernel,Symbolic trajectory evaluation
Journal
Volume
Issue
ISSN
23
4
1049-331X
Citations 
PageRank 
References 
3
0.37
26
Authors
4
Name
Order
Citations
PageRank
Yueqi Li130.37
S. C. Cheung22657162.89
Xiangyu Zhang32857151.00
Yepang Liu441524.58