Structural Invariants for Parametric Verification of Systems with Almost Linear Architectures

We consider concurrent systems consisting of a finite but unknown number of components , that are replicated instances of a given set of finite state automata. The components communicate by executing interactions which are simultaneous atomic state changes of a set of components. We specify both the type of interactions (e.g. rendezvous , broadcast) and the topology (i.e. architecture) of the system (e.g. pipeline, ring) via a decidable interaction logic, which is embedded in the classical weak sequential calculus of one successor (WS1S). Proving correctness of such system for safety properties , such as deadlock freedom or mutual exclusion, requires the inference of an induc-tive invariant that subsumes the set of reachable states and avoids the unsafe states. Our method synthesizes such invariants directly from the formula describing the interactions , without costly fixed point iterations. We applied our technique to the verification of several textbook examples, such as dining philosophers, mutual exclusion protocols and concurrent systems with preemption and priorities.

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

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

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

[4]  Boleslaw K. Szymanski Mutual exclusion revisited , 1990, Proceedings of the 5th Jerusalem Conference on Information Technology, 1990. 'Next Decade in Information Technology'.

[5]  Sylvain Conchon,et al.  Cubicle: A Parallel SMT-Based Model Checker for Parameterized Systems - Tool Paper , 2012, CAV.

[6]  Nils Klarlund,et al.  MONA: Monadic Second-Order Logic in Practice , 1995 .

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

[8]  Joseph Sifakis,et al.  D-Finder: A Tool for Compositional Deadlock Detection and Verification , 2009, CAV.

[9]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[10]  Anil Nerode,et al.  Automata theory and its applications , 2001 .

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

[12]  Parosh Aziz Abdulla,et al.  Efficient Inclusion Checking on Explicit and Semi-Symbolic Tree Automata , 2011 .

[13]  Tomás Vojnar,et al.  VATA: A Library for Efficient Manipulation of Non-deterministic Tree Automata , 2012, TACAS.

[14]  Silvio Ghilardi,et al.  A Framework for the Verification of Parameterized Infinite-State Systems , 2014, CILC.

[15]  Edward A. Ashcroft,et al.  Proving Assertions about Parallel Programs , 1975, J. Comput. Syst. Sci..

[16]  Viktor Kuncak,et al.  Deciding Boolean Algebra with Presburger Arithmetic , 2006, Journal of Automated Reasoning.

[17]  Philipp Rümmer,et al.  L O ] 3 O ct 2 01 7 Learning to Prove Safety over Parameterised Concurrent Systems ( Full Version ) , 2018 .

[18]  Edmund M. Clarke,et al.  Reasoning about Networks with Many Identical Finite State Processes , 1989, Inf. Comput..

[19]  Yassine Lakhnech,et al.  Iterating transducers , 2001, J. Log. Algebraic Methods Program..

[20]  Nancy A. Lynch,et al.  A Proof of Burns N-Process Mutual Exclusion Algorithm Using Abstraction , 1998, TACAS.

[21]  Joseph Sifakis,et al.  Checking Deadlock-Freedom of Parametric Component-Based Systems , 2018, TACAS.

[22]  Helmut Veith,et al.  Decidability of Parameterized Verification , 2015, Synthesis Lectures on Distributed Computing Theory.

[23]  Karsten Stahl,et al.  Abstracting WS1S Systems to Verify Parameterized Networks , 2000, TACAS.

[24]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[25]  Helmut Veith,et al.  Parameterized model checking of rendezvous systems , 2014, Distributed Computing.

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

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

[28]  Joseph Sifakis,et al.  Structural Properties of Petri Nets , 1978, MFCS.

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

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