Partial Completeness of Abstract Fixpoint Checking (Invited paper)

Abstract interpretation is used in program static analysis and model checking to cope with infinite state spaces and/or with com­ puter resource limitations. One common problem is to check abstract fixpoints for specifications. The abstraction is partially complete when the checking algorithm is exact in that, if the algorithm ever terminates, its answer is always affirmative for correct specifications. We character­ ize partially complete abstractions for various abstract fixpoint checking algorithms, including new ones, and show that the computation of com­ plete abstract domains is essentially equivalent to invariance proofs that is to concrete fixpoint checking.

[1]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[2]  Peter Naur Proof of Algorithms by General Snapshots , 1966 .

[3]  Robert W. Floyd,et al.  Assigning meaning to programs , 1967 .

[4]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[5]  Patrick Cousot,et al.  Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique des programmes , 1978 .

[6]  P. Cousot Thesis: These d'Etat es sciences mathematiques: Methodes iteratives de construction et d'approximation de points fixes d'operateurs monotones sur un treillis, analyse semantique de programmes (in French) , 1978 .

[7]  P. Cousot,et al.  Constructive versions of tarski's fixed point theorems , 1979 .

[8]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[9]  Patrick Cousot,et al.  Semantic foundations of program analysis , 1981 .

[10]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[11]  Patrick Cousot,et al.  Induction principles for proving invariance properties of programs , 1982 .

[12]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[13]  Patrick Cousot,et al.  Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation , 1992, PLILP.

[14]  Claire Loiseaux,et al.  A Tool for Symbolic Program Verification and Abstration , 1993, CAV.

[15]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[16]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[17]  Patrick Cousot,et al.  Parallel combination of abstract interpretation and model-based automatic analysis of software , 1997 .

[18]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[19]  Orna Grumberg,et al.  Abstract interpretation of reactive systems , 1997, TOPL.

[20]  Patrick Cousot,et al.  Constructive design of a hierarchy of semantics of a transition system by abstract interpretation , 2002, MFPS.

[21]  Tomás E. Uribe,et al.  Generating Finite-State Abstractions of Reactive Systems Using Decision Procedures , 1998, CAV.

[22]  Yassine Lakhnech,et al.  Computing Abstractions of Infinite State Systems Compositionally and Automatically , 1998, CAV.

[23]  Roberto Giacobazzi,et al.  Complete Abstract Interpretations Made Constructive , 1998, MFCS.

[24]  Parosh Aziz Abdulla,et al.  Verification of Infinite-State Systems by Combining Abstraction and Reachability Analysis , 1999, CAV.

[25]  Natarajan Shankar,et al.  Abstract and Model Check While You Prove , 1999, CAV.

[26]  David L. Dill,et al.  Experience with Predicate Abstraction , 1999, CAV.

[27]  Patrick Cousot,et al.  Temporal abstract interpretation , 2000, POPL '00.