Approaching the Coverability Problem Continuously

The coverability problem for Petri nets plays a central role in the verification of concurrent shared-memory programs. However, its high EXPSPACE-complete complexity poses a challenge when encountered in real-world instances. In this paper, we develop a new approach to this problem which is primarily based on applying forward coverability in continuous Petri nets as a pruning criterion inside a backward coverability framework. A cornerstone of our approach is the efficient encoding of a recently developed polynomial-time algorithm for reachability in continuous Petri nets into SMT. We demonstrate the effectiveness of our approach on standard benchmarks from the literature, which shows that our approach decides significantly more instances than any existing tool and is in addition often much faster, in particular on large instances.

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

[2]  Pierre-Alain Reynier,et al.  Minimal Coverability Set for Petri Nets: Karp and Miller Algorithm with Pruning , 2013, Fundam. Informaticae.

[3]  C.-H. Luke Ong,et al.  Automatic Verification of Erlang-Style Concurrency , 2013, SAS.

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

[5]  Sylvain Schmitz,et al.  Demystifying Reachability in Vector Addition Systems , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

[6]  Christoph Haase,et al.  Integer Vector Addition Systems with States , 2014, RP.

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

[8]  Javier Esparza,et al.  Verification of Safety Properties Using Integer Programming: Beyond the State Equation , 2000, Formal Methods Syst. Des..

[9]  Thomas Schwentick,et al.  On the Complexity of Equational Horn Clauses , 2005, CADE.

[10]  Antti Valmari,et al.  Old and New Algorithms for Minimal Coverability Sets , 2014, Fundam. Informaticae.

[11]  Pierre Ganty,et al.  Complexity Analysis of the Backward Coverability Algorithm for VASS , 2011, RP.

[12]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

[14]  Richard M. Karp,et al.  Parallel Program Schemata: A Mathematical Model for Parallel Computation , 1967, SWAT.

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

[16]  Eduardo D. Sontag,et al.  Real Addition and the Polynomial Hierarchy , 1985, Inf. Process. Lett..

[17]  Giorgio Delzanno,et al.  Attacking Symbolic State Explosion , 2001, CAV.

[18]  Charles Rackoff,et al.  The Covering and Boundedness Problems for Vector Addition Systems , 1978, Theor. Comput. Sci..

[19]  Jean-François Raskin,et al.  On the Efficient Computation of the Minimal Coverability Set for Petri Nets , 2007, ATVA.

[20]  Ruzica Piskac,et al.  Incremental, Inductive Coverability , 2013, CAV.

[21]  Richard J. Lipton,et al.  Exponential space complete problems for Petri nets and commutative semigroups (Preliminary Report) , 1976, STOC '76.

[22]  Giorgio Delzanno,et al.  Covering sharing trees: a compact data structure for parameterized verification , 2004, International Journal on Software Tools for Technology Transfer.

[23]  Serge Haddad,et al.  Complexity Analysis of Continuous Petri Nets , 2013, Fundam. Informaticae.

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

[25]  Alain Finkel,et al.  Monotonic Extensions of Petri Nets: Forward and Backward Search Revisited , 2002, INFINITY.

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

[27]  Giorgio Delzanno,et al.  Symbolic Data Structure for Sets of k-uples of Integers , 2007 .

[28]  Martin Erwig,et al.  Extending Type Inference to Variational Programs , 2014, ACM Trans. Program. Lang. Syst..