Generalization strategies for the verification of infinite state systems

We present a method for the automated verification of temporal properties of infinite state systems. Our verification method is based on the specialization of constraint logic programs (CLP) and works in two phases: (1) in the first phase, a CLP specification of an infinite state system is specialized with respect to the initial state of the system and the temporal property to be verified, and (2) in the second phase, the specialized program is evaluated by using a bottom-up strategy. The effectiveness of the method strongly depends on the generalization strategy which is applied during the program specialization phase. We consider several generalization strategies obtained by combining techniques already known in the field of program analysis and program transformation, and we also introduce some new strategies. Then, through many verification experiments, we evaluate the effectiveness of the generalization strategies we have considered. Finally, we compare the implementation of our specialization-based verification method to other constraint-based model checking tools. The experimental results show that our method is competitive with the methods used by those other tools.

[1]  Laure Petrucci,et al.  FAST: acceleration from theory to practice , 2008, International Journal on Software Tools for Technology Transfer.

[2]  Jim Handy,et al.  The cache memory book , 1993 .

[3]  Sandro Etalle,et al.  Transformations of CLP Modules , 1996, Theor. Comput. Sci..

[4]  Helko Lehmann,et al.  Coverability of Reset Petri Nets and Other Well-Structured Transition Systems by Partial Deduction , 2000, Computational Logic.

[5]  Robert Glück,et al.  An Algorithm of Generalization in Positive Supercompilation , 1995, ILPS.

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

[7]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[8]  Amir Pnueli,et al.  Model checking and abstraction to the aid of parameterized systems (a survey) , 2004, Comput. Lang. Syst. Struct..

[9]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[10]  Giorgio Delzanno,et al.  Constraint-Based Verification of Client-Server Protocols , 2001, CP.

[11]  Alberto Pettorossi,et al.  Transformation Rules for Locally Stratified Constraint Logic Programs , 2004, Program Development in Computational Logic.

[12]  Giorgio Delzanno,et al.  Constraint-Based Analysis of Broadcast Protocols , 1999, CSL.

[13]  Maurice Bruynooghe,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming Logic Program Specialisation through Partial Deduction: Control Issues , 2022 .

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

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

[16]  Parosh Aziz Abdulla,et al.  Monotonic Abstraction: on Efficient Verification of Parameterized Systems , 2009, Int. J. Found. Comput. Sci..

[17]  Ulf Nilsson,et al.  Constraint Logic Programming for Local and Symbolic Model-Checking , 2000, Computational Logic.

[18]  John P. Gallagher,et al.  Convex Hull Abstractions in Specialization of CLP Programs , 2002, LOPSTR.

[19]  John P. Gallagher,et al.  Tutorial on specialisation of logic programs , 1993, PEPM '93.

[20]  David Scott Warren,et al.  Tabled evaluation with delaying for general logic programs , 1996, JACM.

[21]  Laurent Fribourg,et al.  Proving Safety Properties of Infinite State Systems by Compilation into Presburger Arithmetic , 1997, CONCUR.

[22]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[23]  John P. Gallagher,et al.  Constraint-Based Abstraction of a Model Checker for Infinite State Systems , 2009 .

[24]  autoepistemic Zogic Logic programming and negation : a survey , 2001 .

[25]  Hassen Saïdi,et al.  Abstraction of parameterized networks , 1997, INFINITY.

[26]  Javier Esparza,et al.  Decidability of model checking for infinite-state concurrent systems , 1997, Acta Informatica.

[27]  David A. Schmidt,et al.  The Essence of Computation , 2002 .

[28]  Alberto Pettorossi,et al.  Verifying CTL properties of infinite state systems by specializing constraint logic programs , 2001 .

[29]  Danny De Schreye,et al.  Controlling generalization and polyvariance in partial deduction of normal logic programs , 1998, TOPL.

[30]  Laurent Fribourg,et al.  Constraint Logic Programming Applied to Model Checking , 1999, LOPSTR.

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

[32]  Giorgio Delzanno,et al.  Constraint-Based Verification of Parameterized Cache Coherence Protocols , 2003, Formal Methods Syst. Des..

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

[34]  Antonín Kucera,et al.  Bisimilarity of processes with finite-state systems , 1997, INFINITY.

[35]  中川 裕志,et al.  UNFOLD/FOLD TRANSFORMATION OF STRATIFIED PROGRAMS , 1989 .

[36]  Alberto Pettorossi,et al.  Program Specialization for Verifying Infinite State Systems: An Experimental Evaluation , 2010, LOPSTR.

[37]  Tevfik Bultan,et al.  Action Language verifier: an infinite-state model checker for reactive software specifications , 2009, Formal Methods Syst. Des..

[38]  Thierry Massart,et al.  Infinite State Model Checking by Abstract Interpretation and Program Specialisation , 1999, LOPSTR.

[39]  Tevfik Bultan,et al.  BDD vs. Constraint-Based Model Checking: An Experimental Evaluation for Asynchronous Concurrent Systems , 2000, TACAS.

[40]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[41]  Giorgio Delzanno,et al.  Constraint-based deductive model checking , 2001, International Journal on Software Tools for Technology Transfer.

[42]  John P. Gallagher,et al.  Constraint-Based Abstract Semantics for Temporal Logic: A Direct Approach to Design and Implementation , 2010, LPAR.

[43]  Amir Pnueli,et al.  A Platform for Combining Deductive with Algorithmic Verification , 1996, CAV.

[44]  Radha Jagadeesan,et al.  Abstraction-Based Model Checking Using Modal Transition Systems , 2001, CONCUR.

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

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

[47]  Alberto Pettorossi,et al.  Istituto Di Analisi Dei Sistemi Ed Informatica Consiglio Nazionale Delle Ricerche , 2022 .

[48]  Stephan Merz,et al.  Model Checking , 2000 .

[49]  Michael Leuschel,et al.  Homeomorphic Embedding for Online Termination of Symbolic Methods , 2002, The Essence of Computation.

[50]  Michael Leuschel,et al.  Improving Homeomorphic Embedding for Online Termination , 1998, LOPSTR.

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

[52]  David Scott Warren,et al.  A System for Tabled Constraint Logic Programming , 2000, Computational Logic.

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

[54]  C. R. Ramakrishnan,et al.  Verification of Parameterized Systems Using Logic Program Transformations , 2000, TACAS.

[55]  Tevfik Bultan,et al.  Action Language Verifier , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).