Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/11547662_19guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Boolean heaps

Published: 07 September 2005 Publication History

Abstract

We show that the idea of predicates on heap objects can be cast in the framework of predicate abstraction. This leads to an alternative view on the underlying concepts of three-valued shape analysis by Sagiv, Reps and Wilhelm. Our construction of the abstract post operator is analogous to the corresponding construction for classical predicate abstraction, except that predicates over objects on the heap take the place of state predicates, and boolean heaps (sets of bitvectors) take the place of boolean states (bitvectors). A program is abstracted to a program over boolean heaps. For each command of the program, the corresponding abstract command is effectively constructed by deductive reasoning, namely by the application of the weakest precondition operator and an entailment test. We thus obtain a symbolic framework for shape analysis.

References

[1]
I. Balaban, A. Pnueli, and L. Zuck. Shape Analysis by Predicate Abstraction. In Verification, Model Checking and Abstract Interpretation (VMCAI'05), LNCS 3385, pages 164-180. Springer, 2005.
[2]
T. Ball, R. Majumdar, T. Millstein, and S. Rajamani. Automatic predicate abstraction of C programs. In Programming language design and implementation (PLDI'01), volume 36 of ACM SIGPLAN Notices, pages 203-213, 2001.
[3]
T. Ball, A. Podelski, and S. Rajamani. Boolean and Cartesian abstraction for model checking C programs. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS'01), LNCS 2031, pages 268-283. Springer, 2001.
[4]
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Symposium on Principles of Programming Languages (POPL'79), pages 269-282, 1979.
[5]
D. Dams and K. Namjoshi. Shape Analysis through Predicate Abstraction and Model Checking. In Verification, Model Checking and Abstract Interpretation (VMCAI'03) , LNCS 2575, pages 310-323. Springer, 2003.
[6]
S. Graf and H. Saïdi. Construction of Abstract State Graphs with PVS. In Orna Grumberg, editor, Computer Aided Verification (CAV'97), LNCS 1254, pages 72- 83. Springer, 1997.
[7]
N. Immerman, A. Rabinovich, T. Reps, M. Sagiv, and G. Yorsh. The Boundary Between Decidability and Undecidability for Transitive-Closure Logics. In Computer Science Logic (CSL 2004), LNCS 3210, pages 160-174. Springer, 2004.
[8]
N. Immerman, A. Rabinovich, T. Reps, M. Sagiv, and G. Yorsh. Verification Via Structure Simulation. In Computer Aided Verification (CAV'04), LNCS 3114, pages 281-294. Springer, 2004.
[9]
N. Klarlund and M. Schwartzbach. Graph types. In Symposium on Principles of Programming Languages (POPL'93), pages 196-205, 1993.
[10]
V. Kuncak and M. Rinard. Boolean Algebra of Shape Analysis Constraints. In Verification, Model Checking and Abstract Interpretation (VMCAI'04), LNCS 2937, pages 59-72. Springer, 2004.
[11]
R. Manevich, E. Yahav, G. Ramalingam, and M. Sagiv. Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists. In Verification, Model Checking and Abstract Interpretation (VMCAI'05), LNCS 3385, pages 181-198. Springer, 2005.
[12]
A. M?ler and M. Schwartzbach. The pointer assertion logic engine. In Programming language design and implementation (PLDI'01), pages 221-231, 2001.
[13]
M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Transactions on Programming Languages and Systems (TOPLAS), 24(3):217-298, 2002.
[14]
T. Wies. Symbolic Shape Analysis. Diploma thesis, Universität des Saarlandes, Saarbrücken, Germany, 2004.
[15]
G. Yorsh. Logical Characterizations of Heap Abstractions. Master's thesis, Tel-Aviv University, Tel-Aviv, Israel, 2003.
[16]
G. Yorsh, T. Reps, and M. Sagiv. Symbolically Computing Most-Precise Abstract Operations for Shape Analysis. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS'04), LNCS 2988, pages 530-545. Springer, 2004.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
SAS'05: Proceedings of the 12th international conference on Static Analysis
September 2005
368 pages
ISBN:3540285849
  • Editors:
  • Chris Hankin,
  • Igor Siveroni

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 07 September 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Algorithmic verification of procedural programs in the presence of code variabilityScience of Computer Programming10.1016/j.scico.2015.08.010127:C(76-102)Online publication date: 1-Oct-2016
  • (2013)Static analysis of list-manipulating programs via bit-vectors and numerical abstractionsProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480589(1204-1210)Online publication date: 18-Mar-2013
  • (2013)FESAProceedings of the 22nd international conference on Compiler Construction10.1007/978-3-642-37051-9_5(82-101)Online publication date: 16-Mar-2013
  • (2012)Predicate abstraction of Java programs with collectionsACM SIGPLAN Notices10.1145/2398857.238462347:10(75-94)Online publication date: 19-Oct-2012
  • (2012)Predicate abstraction of Java programs with collectionsProceedings of the ACM international conference on Object oriented programming systems languages and applications10.1145/2384616.2384623(75-94)Online publication date: 19-Oct-2012
  • (2012)Abstract domains for automated reasoning about list-manipulating programs with infinite dataProceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation10.1007/978-3-642-27940-9_1(1-22)Online publication date: 22-Jan-2012
  • (2011)Compositional Shape Analysis by Means of Bi-AbductionJournal of the ACM10.1145/2049697.204970058:6(1-66)Online publication date: 1-Dec-2011
  • (2011)Separation logic + superposition calculus = heap theorem proverProceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1993498.1993563(556-566)Online publication date: 4-Jun-2011
  • (2011)Separation logic + superposition calculus = heap theorem proverACM SIGPLAN Notices10.1145/1993316.199356346:6(556-566)Online publication date: 4-Jun-2011
  • (2011)A shape analysis for optimizing parallel graph programsProceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1926385.1926405(159-172)Online publication date: 26-Jan-2011
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media