Model Checking in CLP

We show that Constraint Logic Programming (CLP) can serve as a conceptual basis and as a practical implementation platform for the model checking of infinite-state systems. Our contributions are: (1) a semantics-preserving translation of concurrent systems into CLP programs, (2) a method for verifying safety and liveness properties on the CLP programs produced by the translation. We have implemented the method in a CLP system and verified well-known examples of infinitestate programs over integers, using here linear constraints as opposed to Presburger arithmetic as in previous solutions.

[1]  Andreas Podelski,et al.  Set-Based Analysis of Reactive Infinite-State Systems , 1998, TACAS.

[2]  Parosh Aziz Abdulla,et al.  General decidability theorems for infinite-state systems , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[3]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[4]  Divesh Srivastava,et al.  Efficient Bottom-Up Evaluation of Logic Programs , 1992 .

[5]  David Notkin,et al.  Combining Constraint Solving and Symbolic Model Checking for a Class of a Systems with Non-linear Constraints , 1997, CAV.

[6]  Henny B. Sipma,et al.  Deductive Model Checking , 1996, CAV.

[7]  C. R. Ramakrishnan,et al.  Efficient Model Checking Using Tabled Resolution , 1997, CAV.

[8]  Dirk Vermeir,et al.  Assumption-Free Semantics for Ordered Logic Programs: On the Relationship between Well-Founded and Stable Partial Models , 1992, J. Log. Comput..

[9]  Richard Gerber,et al.  Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic , 1997, CAV.

[10]  Andreas Podelski,et al.  Constraint Programming: Basics and Trends , 1995, Lecture Notes in Computer Science.

[11]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

[12]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[13]  Laurent Fribourg,et al.  Symbolic Verification with Gap-Order Constraints , 1996, LOPSTR.

[14]  Richard Gerber,et al.  Symbolic Model Checking of Infinite State Systems Using Presburger Arithmetic , 1997, CAV.

[15]  Thomas R. Shiple,et al.  A Comparison of Presburger Engines for EFSM Reachability , 1998, CAV.

[16]  Michael J. Maher,et al.  Déjà Vu in Fixpoints of Logic Programs ∗ , 1989 .

[17]  Nicolas Halbwachs,et al.  Automatic verification of parameterized linear networks of processes , 1997, POPL '97.

[18]  Michael J. Maher Constrained Dependencies , 1995, Theor. Comput. Sci..

[19]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[20]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[21]  Luis Urbina,et al.  Analysis of Hybrid Systems in CLP(R) , 1996, CP.

[22]  Antoine Rauzy Toupie: a Constraint Language for Model Checking , 1994, Constraint Programming.

[23]  Nicolas Halbwachs,et al.  Verification of Real-Time Systems using Linear Relation Analysis , 1997, Formal Methods Syst. Des..

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

[25]  Henny B. Sipma,et al.  Deductive Model Checking , 1996, Formal Methods Syst. Des..

[26]  Wang Yi,et al.  Efficient verification of real-time systems: compact data structure and state-space reduction , 1997, Proceedings Real-Time Systems Symposium.

[27]  Arjan van der Schaft,et al.  Analysis of hybrid systems , 2000 .

[28]  Richard Gerber,et al.  Model-checking concurrent systems with unbounded integer variables: symbolic representations, approximations, and experimental results , 1999, TOPL.

[29]  Peter Z. Revesz,et al.  A Closed-Form Evaluation for Datalog Queries with Integer (Gap)-Order Constraints , 1993, Theor. Comput. Sci..

[30]  Hassan. Saidig Automatic Veriication of Parameterized Networks of Processes by Abstraction , 1997 .

[31]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[32]  Richard Gerber,et al.  Verifying systems with integer constraints and Boolean predicates: a composite approach , 1998, ISSTA '98.

[33]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[34]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[35]  A. Udaya Shankar,et al.  An introduction to assertional reasoning for concurrent systems , 1993, CSUR.

[36]  Pierre Wolper,et al.  Symbolic Verification with Periodic Sets , 1994, CAV.

[37]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[38]  Maurizio Gabbrielli,et al.  Observable Semantics for Constraint Logic Programs , 1995, J. Log. Comput..

[39]  Michael J. Maher Constrained Dependencies , 1995, CP.

[40]  Enrico Pontelli,et al.  A constraint-based approach for specification and verification of real-time systems , 1997, Proceedings Real-Time Systems Symposium.

[41]  Hubert Comon-Lundh,et al.  Multiple Counters Automata, Safety Analysis and Presburger Arithmetic , 1998, CAV.

[42]  Thomas A. Henzinger,et al.  HYTECH: A Model Checker for Hybrid Systems , 1997, CAV.

[43]  Y. S. Ramakrishna,et al.  Eecient Model Checking Using Tabled Resolution ? , 1997 .