MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Combining theorem proving with static analysis for data structure consistency (2004) [17 citations — 15 self]

Download:
Download as a PDF | Download as a PS
by Karen Zee, Patrick Lam, Viktor Kuncak, Martin Rinard
In International Workshop on Software Verification and Validation (SVV 2004
http://www.cag.lcs.mit.edu/~vkuncak/papers/internal/theorem-proving-consistency.ps
Add To MetaCart

Abstract:

We describe an approach for combining theorem proving techniques with static analysis to analyze data structure consistency for programs that manipulate heterogeneous data structures. Our system uses interactive theorem proving and shape analysis to verify that data structure implementations conform to set interfaces. A simpler static analysis then uses the verified set interfaces to verify properties that characterize how shared objects participate in multiple data structures. We have successfully applied this technique to several programs and found that theorem proving within circumscribed regions of the program combined with static analysis enables the verification of large-scale program properties. 1

Citations

310 Parametric shape analysis via 3-valued logic – Sagiv, Reps, et al.
305 Isabelle/HOL — A Proof Assistant for Higher-Order Logic – Nipkow, Paulson, et al. - 2002
270 Extended static checking for Java – Flanagan, Leino, et al. - 2002
250 Introduction to Algorithms, Second Edition – Cormen, Leiserson, et al.
250 Extended static checking – Detlefs, Leino, et al. - 1998
228 Automatic predicate abstraction of C programs – Ball, Majumdar, et al. - 2001
159 J.B.: Simplify: A theorem prover for program checking – Detlefs, Nelson, et al. - 2003
133 An overview of JML tools and applications – Burdy, Cheon, et al.
131 Isabelle: A Generic Theorem – Paulson - 1994
101 The Pointer Assertion Logic Engine – Moller, Schwartzbach - 2001
86 Techniques for program verification – Nelson - 1981
85 Role analysis – Kuncak, Lam, et al. - 2002
80 Data Refinement: Model-Oriented Proof Methods and their Comparison – Roever, Engelhardt - 1998
79 D.: CVC: a cooperating validity checker – Stump, Barrett, et al.
74 Abstractions from proofs – Henzinger, Jhala, et al. - 2004
62 Shape types – Fradet, Métayer - 1997
60 Avoiding exponential explosion: generating compact verification conditions – Flanagan, Saxe - 2001
58 Types as models: model checking messagepassing programs – Chaki, Rajamani, et al. - 2002
48 STeP: Deductive-algorithmic verification of reactive and real-time systems – Bjorner, Browne, et al. - 1996
43 Data refinement refined – He, Hoare, et al. - 1986
41 Theorem proving using lazy proof explication – Flanagan, Joshi, et al. - 2003
26 Complexity of boolean algebras – Kozen - 1980
24 Deconstructing Shostak – Ruess, Shankar - 2001
23 Logical characterizations of heap abstractions – Yorsh - 2003
17 Mona version 1.4 - user manual – Klarlund, Mller
15 On our experience with modular pluggable analyses – Lam, Kuncak, et al. - 2004
14 Proving theorems about Java and the JVM with ACL2 – Moore - 2003
13 Verifying a file system implementation – Arkoudas, Zee, et al.
13 Extensions for multi-module records in conventional programming languages – Cheriton, Wolf - 1987
13 Über mögligkeiten im relativkalkül – Loewenheim - 1915
12 Generalized typestate checking using set interfaces and pluggable analyses – Lam, Kuncak, et al. - 2004
9 On modular pluggable analyses using set interfaces – Lam, Kuncak, et al. - 2003
9 A quantifier elimination algorithm for a fragment of set theory involving the cardinality operator – Zarba - 2004
6 The Hob project web page. http://catfish.csail.mit.edu/∼plam/hob – Lam, Kuncak, et al. - 2004
6 Combining sets with elements – Zarba
4 The Combination Problem in Automated Reasoning – Zarba - 2004
2 Uber m"ogligkeiten im relativkalk"ul – Loewenheim - 1915
1 Verifying set interfaces based on object field values – Lam, Kuncak, et al. - 2005