Abstraction for Shape Analysis with Fast and Precise Transformers

作者: Tal Lev-Ami , Neil Immerman , Mooly Sagiv

DOI: 10.1007/11817963_49

关键词: Worst-case complexityData structurePointer (computer programming)Imperative programmingTheoretical computer scienceReachabilityProof theoryAutomated theorem provingComputer scienceComputational complexity theory

摘要: This paper addresses the problem of proving safety properties imperative programs manipulating dynamically allocated data structures using destructive pointer updates. We present a new abstraction for linked whose underlying graphs do not contain cycles. The is simple and allows us to decide reachability between heap cells. We an efficient algorithm that computes effect low level mutations in most precise way. does rely on usage theorem prover. In particular, worst case complexity computing single successor abstract state O(V logV) where V number program variables. overall states can be exponential V. A prototype was implemented shown fast. Our method also handles with “simple cycles” such as cyclic singly-linked lists, (cyclic) doubly-linked trees parent pointers. Moreover, we allow which temporarily violate these restrictions long they are restored loop boundaries.

参考文章(22)
Susanne Graf, Hassen Saidi, Construction of Abstract State Graphs with PVS computer aided verification. pp. 72- 83 ,(1997) , 10.1007/3-540-63166-6_10
Dino Distefano, Peter W. O’Hearn, Hongseok Yang, A local shape analysis based on separation logic tools and algorithms for construction and analysis of systems. ,vol. 3920, pp. 287- 302 ,(2006) , 10.1007/11691372_19
Roman Manevich, E. Yahav, G. Ramalingam, Mooly Sagiv, Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists Lecture Notes in Computer Science. pp. 181- 198 ,(2005) , 10.1007/978-3-540-30579-8_13
Niel Immerman, Alexander Rabinovich, Thomas W. Reps, Mooly Sagiv, Great Yorsh, Verification via Structure Simulation Computer Aided Verification. ,vol. 3114, pp. 281- 294 ,(2004) , 10.1007/978-3-540-27813-9_22
Ittai Balaban, Amir Pnueli, Lenore D. Zuck, Shape Analysis by Predicate Abstraction Lecture Notes in Computer Science. pp. 164- 180 ,(2005) , 10.1007/978-3-540-30579-8_12
Tal Lev-Ami, Mooly Sagiv, TVLA: A System for Implementing Static Analyses static analysis symposium. pp. 280- 301 ,(2000) , 10.1007/978-3-540-45099-3_15
G. Yorsh, Thomas Reps, Mooly Sagiv, Symbolically Computing Most-Precise Abstract Operations for Shape Analysis tools and algorithms for construction and analysis of systems. pp. 530- 545 ,(2004) , 10.1007/978-3-540-24730-2_39
T. Lev-Ami, N. Immerman, T. Reps, M. Sagiv, S. Srivastava, G. Yorsh, Simulating reachability using first-order logic with applications to verification of linked data structures conference on automated deduction. ,vol. 3632, pp. 99- 115 ,(2005) , 10.1007/11532231_8
Glenn Bruns, Patrice Godefroid, Generalized Model Checking: Reasoning about Partial State Spaces international conference on concurrency theory. pp. 168- 182 ,(2000) , 10.1007/3-540-44618-4_14
Mooly Sagiv, Thomas Reps, Reinhard Wilhelm, Parametric shape analysis via 3-valued logic ACM Transactions on Programming Languages and Systems. ,vol. 24, pp. 217- 298 ,(2002) , 10.1145/514188.514190