The existence of finite abstractions for branching time model checking

Abstraction is often essential to verify a program with model checking. Typically, a concrete source program with an infinite (or finite, but large) state space is reduced to a small, finite state, abstract program on which a correctness property can be checked. The fundamental question we investigate in this paper is whether such a reduction to finite state programs is always possible, for arbitrary branching time temporal properties. We begin by showing that existing abstraction frameworks are inherently incomplete for verifying purely existential or mixed universal-existential properties. We then propose a new, complete abstraction framework which is based on a class of focused transition systems (FTS's). The key new feature in FTS's is a way of "focusing" an abstract state to a set of more precise abstract states. While focus operators have been defined for specific contexts, this result shows their fundamental usefulness for proving non-universal properties. The constructive completeness proof provides linear size maximal models for properties expressed in logics such as CTL and the mu-calculus. This substantially improves upon known (worst-case) exponential size constructions for their universal fragments.

[1]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[2]  Charles Rackoff,et al.  The Emptiness Problem for Automata on Infinite Trees , 1972, SWAT.

[3]  Colin Stirling,et al.  Modal and Temporal Properties of Processes , 2001, Texts in Computer Science.

[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]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[6]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[7]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[8]  A. Prasad Sistla,et al.  On Model-Checking for Fragments of µ-Calculus , 1993, CAV.

[9]  Amir Pnueli,et al.  Verification by Augmented Abstraction: The Automata-Theoretic View , 2001, J. Comput. Syst. Sci..

[10]  Monika Maidl,et al.  The Common Fragment of CTL and LTL , 2000, FOCS.

[11]  Pierre Wolper,et al.  An automata-theoretic approach to branching-time model checking , 2000, JACM.

[12]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[13]  E. Emerson,et al.  Tree Automata, Mu-Calculus and Determinacy (Extended Abstract) , 1991, FOCS 1991.

[14]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 1999 .

[15]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[16]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[17]  Rance Cleaveland,et al.  Optimality in Abstractions of Model Checking , 1995, SAS.

[18]  Panagiotis Manolios,et al.  Safety and liveness in branching time , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[19]  Orna Grumberg,et al.  Monotonic Abstraction-Refinement for CTL , 2004, TACAS.

[20]  Zohar Manna,et al.  Abstraction-based deductive-algorithmic verification of reactive systems , 2001 .

[21]  Panagiotis Manolios A Compositional Theory of Refinement for Branching Time , 2003, CHARME.

[22]  Radha Jagadeesan,et al.  Model checking partial state spaces with 3-valued temporal logics , 2001 .

[23]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[24]  Thomas A. Henzinger,et al.  Alternating Refinement Relations , 1998, CONCUR.

[25]  Kim G. Larsen,et al.  Equation solving using modal transition systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[26]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[27]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

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

[29]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[30]  Radha Jagadeesan,et al.  A domain equation for refinement of partial systems , 2004, Mathematical Structures in Computer Science.

[31]  Kedar S. Namjoshi Abstraction for Branching Time Properties , 2003, CAV.

[32]  Radha Jagadeesan,et al.  On the Expressiveness of 3-Valued Models , 2002, VMCAI.

[33]  R. Wilhelm,et al.  Parametric Shape Analysis via 3 - valued Logic TOPLAS , 2002 .

[34]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

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

[36]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[37]  Rob J. van Glabbeek,et al.  Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract) , 1989, IFIP Congress.

[38]  Kedar S. Namjoshi,et al.  Certifying Model Checkers , 2001, CAV.

[39]  Patrice Godefroid,et al.  Temporal logic query checking , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[40]  Amir Pnueli,et al.  Verification by Augmented Finitary Abstraction , 2000, Inf. Comput..

[41]  Radha Jagadeesan,et al.  Three-valued abstractions of games: uncertainty, but with precision , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[42]  E. Allen Emerson,et al.  Automata, Tableaux and Temporal Logics (Extended Abstract) , 1985, Logic of Programs.

[43]  Orna Kupferman,et al.  Modular Model Checking , 1997, COMPOS.

[44]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[45]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 1999, POPL '99.