Backward coverability with pruning for lossy channel systems

Driven by the concurrency revolution, the study of the coverability problem for Petri nets has regained a lot of interest in the recent years. A promising approach, which was presented in two papers last year, leverages a downward-closed forward invariant to accelerate the classical backward coverability analysis for Petri nets. In this paper, we propose a generalization of this approach to the class of well-structured transition systems (WSTSs), which contains Petri nets. We then apply this generalized approach to lossy channel systems (LCSs), a well-known subclass of WSTSs. We propose three downward-closed forward invariants for LCSs. One of them counts the number of messages in each channel, and the other two keep track of the order of messages. An experimental evaluation demonstrates the benefits of our approach.

[1]  Anders P. Ravn,et al.  Modelling and Verification of Web Services Business Activity Protocol , 2011, TACAS.

[2]  Parosh Aziz Abdulla,et al.  On-the-Fly Analysis of Systems with Unbounded, Lossy FIFO Channels , 1998, CAV.

[3]  Parosh Aziz Abdulla,et al.  Verifying Programs with Unreliable Channels , 1996, Inf. Comput..

[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]  Patrice Godefroid,et al.  Symbolic Verification of Communication Protocols with Infinite State Spaces using QDDs , 1999, Formal Methods Syst. Des..

[6]  Richard Mayr,et al.  Undecidable problems in unreliable computations , 2000, Theor. Comput. Sci..

[7]  Daniel Kroening,et al.  A Widening Approach to Multithreaded Program Verification , 2014, ACM Trans. Program. Lang. Syst..

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

[9]  Grégoire Sutre,et al.  McScM: A General Framework for the Verification of Communicating Machines , 2012, TACAS.

[10]  Parosh Aziz Abdulla,et al.  On the verification problem for weak memory models , 2010 .

[11]  Philippe Schnoebelen,et al.  The Ordinal Recursive Complexity of Lossy Channel Systems , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

[12]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[13]  Rupak Majumdar,et al.  An SMT-Based Approach to Coverability Analysis , 2014, CAV.

[14]  Alain Finkel,et al.  Approaching the Coverability Problem Continuously , 2016, TACAS.

[15]  Alain Finkel,et al.  Unreliable Channels are Easier to Verify Than Perfect Channels , 1996, Inf. Comput..

[16]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[17]  Sebastian Burckhardt,et al.  On the verification problem for weak memory models , 2010, POPL '10.

[18]  Parosh Aziz Abdulla,et al.  Algorithmic Analysis of Programs with Well Quasi-ordered Domains , 2000, Inf. Comput..

[19]  Parosh Aziz Abdulla,et al.  The Benefits of Duality in Verifying Concurrent Programs under TSO , 2017, CONCUR.

[20]  Ahmed Bouajjani,et al.  TReX: A Tool for Reachability Analysis of Complex Systems , 2001, CAV.

[21]  Philippe Schnoebelen,et al.  Well-structured transition systems everywhere! , 2001, Theor. Comput. Sci..

[22]  Graham Higman,et al.  Ordering by Divisibility in Abstract Algebras , 1952 .

[23]  Grégoire Sutre,et al.  Occam's Razor Applied to the Petri Net Coverability Problem , 2016, RP.