All for the Price of Few

We present a simple and efficient framework for automatic verification of systems with a parameteric number of communicating processes. The processes may be organized in various topologies such as words, multisets, rings, or trees. Our method needs to inspect only a small number of processes in order to show correctness of the whole system. It relies on an abstraction function that views the system from the perspective of a fixed number of processes. The abstraction is used during the verification procedure in order to dynamically detect cut-off points beyond which the search of the state space need not continue. We show that the method is complete for a large class of well quasi-ordered systems including Petri nets. Our experimentation on a variety of benchmarks demonstrate that the method is highly efficient and that it works well even for classes of systems with undecidable verification problems.

[1]  Parosh Aziz Abdulla,et al.  Regular Model Checking Made Simple and Efficient , 2002, CONCUR.

[2]  Amir Pnueli,et al.  Automatic Deductive Verification with Invisible Invariants , 2001, TACAS.

[3]  Daniel Kroening,et al.  Dynamic Cutoff Detection in Parameterized Concurrent Programs , 2010, CAV.

[4]  A. Prasad Sistla,et al.  Reasoning about systems with many processes , 1992, JACM.

[5]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[6]  Kedar S. Namjoshi,et al.  Reasoning about rings , 1995, POPL '95.

[7]  Giorgio Delzanno Verification of Consistency Protocols via Infinite-Stae Symbolic Model Checking , 2000, FORTE.

[8]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[9]  Alan J. Hu,et al.  Empirically Efficient Verification for a Class of Infinite-State Systems , 2005, TACAS.

[10]  Cormac Flanagan,et al.  Thread-Modular Model Checking , 2003, SPIN.

[11]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[12]  Helmut Veith,et al.  Environment Abstraction for Parameterized Verification , 2006, VMCAI.

[13]  Amir Pnueli,et al.  Parameterized Verification with Automatically Computed Inductive Assertions , 2001, CAV.

[14]  N. Lynch,et al.  DISTRIBUTED ALGORITHMS , Lecture Notes for 6.852 FALL 1992 , 1993 .

[15]  Parosh Aziz Abdulla,et al.  Well (and Better) Quasi-Ordered Transition Systems , 2010, The Bulletin of Symbolic Logic.

[16]  Pierre Ganty,et al.  A Complete Abstract Interpretation Framework for Coverability Properties of Wsts , 2006 .

[17]  Giorgio Delzanno Automatic Verification of Parameterized Cache Coherence Protocols , 2000, CAV.

[18]  David A. McAllester,et al.  Automated Deduction - CADE-17 , 2000, Lecture Notes in Computer Science.

[19]  Tayssir Touili Regular Model Checking using Widening Techniques , 2001, Electron. Notes Theor. Comput. Sci..

[20]  Jean-François Raskin,et al.  Expand, Enlarge and Check: New algorithms for the coverability problem of WSTS , 2006, J. Comput. Syst. Sci..

[21]  Pierre Wolper,et al.  Iterating Transducers in the Large (Extended Abstract) , 2003, CAV.

[22]  Parosh Aziz Abdulla,et al.  Handling Parameterized Systems with Non-atomic Global Conditions , 2008, VMCAI.

[23]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[24]  Andreas Podelski,et al.  Precise Thread-Modular Verification , 2007, SAS.

[25]  Kedar S. Namjoshi,et al.  Symmetry and Completeness in the Analysis of Parameterized Systems , 2007, VMCAI.

[26]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[27]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[28]  Kamel Barkaoui,et al.  Theoretical Aspects of Computing - ICTAC 2006, Third International Colloquium, Tunis, Tunisia, November 20-24, 2006, Proceedings , 2006, ICTAC.

[29]  Jean-François Raskin,et al.  Expand, Enlarge and Check... Made Efficient , 2005, CAV.

[30]  Kousha Etessami,et al.  A Hierarchy of Polynomial-Time Computable Simulations for Automata , 2002, CONCUR.

[31]  Vineet Kahlon,et al.  Reducing Model Checking of the Many to the Few , 2000, CADE.

[32]  Andreas Podelski,et al.  Thread-Modular Verification Is Cartesian Abstract Interpretation , 2006, ICTAC.

[33]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[34]  Karsten Stahl,et al.  Parameterized Verification of a Cache Coherence Protocol: Safety and Liveness , 2002, VMCAI.

[35]  Parosh Aziz Abdulla,et al.  Regular Model Checking Without Transducers (On Efficient Verification of Parameterized Systems) , 2007, TACAS.

[36]  Amir Pnueli,et al.  Liveness with (0, 1, infty)-Counter Abstraction , 2002, CAV.

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