Approaching the Coverability Problem Continuously

  • Michael BlondinEmail author
  • Alain Finkel
  • Christoph Haase
  • Serge Haddad
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9636)


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.


Coverability Problem Standard Benchmark Input Place Firing Sequence Pruning Criterion 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We would like to thank Vincent Antaki for an early implementation of Algorithm 2. We would also like to thank Gilles Geeraerts for his support with the MIST file format.


  1. 1.
    Cerans, K., Jonsson, B., Tsay, Y.-K.: Algorithmic analysis of programs with well quasi-ordered domains. Inf. Comput. 160(1–2), 109–127 (2000)MathSciNetzbMATHGoogle Scholar
  2. 2.
    Blondin, M., Finkel, A., Haase, C., Haddad, S.: Approaching the coverability problem continuously (2015). CoRR, abs/1510.05724
  3. 3.
    Bozzelli, L., Ganty, P.: Complexity analysis of the backward coverability algorithm for VASS. In: Delzanno, G., Potapov, I. (eds.) RP 2011. LNCS, vol. 6945, pp. 96–109. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Cardoza, E., Lipton, R.J., Meyer, A.R.: Exponential space complete problems for Petri nets, commutative semigroups: preliminary report. In: Symposium on Theory of Computing, STOC, pp. 50–54 (1976)Google Scholar
  5. 5.
    David, R., Alla, H.: Continuous Petri nets. In: Proceedings of the 8th European Workshop on Application and Theory of Petri nets, pp. 275–294 (1987)Google Scholar
  6. 6.
    de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Delzanno, G., Raskin, J.-F., Van Begin, L.: Attacking symbolic state explosion. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 298. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Delzanno, G., Raskin, J.-F., Van Begin, L.: Covering sharing trees: a compact data structure for parameterized verification. STTT 5(2–3), 268–297 (2004)CrossRefGoogle Scholar
  9. 9.
    D’Osualdo, E., Kochems, J., Ong, C.-H.L.: Automatic verification of erlang-style concurrency. In: Logozzo, F., Fähndrich, M. (eds.) Static Analysis. LNCS, vol. 7935, pp. 454–476. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  10. 10.
    Esparza, J., Ledesma-Garza, R., Majumdar, R., Meyer, P., Niksic, F.: An SMT-based approach to coverability analysis. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 603–619. Springer, Heidelberg (2014)Google Scholar
  11. 11.
    Esparza, J., Melzer, S.: Verification of safety properties using integer programming: beyond the state equation. Formal Meth. Syst. Des. 16(2), 159–189 (2000)CrossRefGoogle Scholar
  12. 12.
    Finkel, A., Raskin, J.-F., Samuelides, M., Van Begin, L.: Monotonic extensions of Petri nets: forward and backward search revisited. Electr. Notes Theor. Comput. Sci. 68(6), 85–106 (2002)CrossRefzbMATHGoogle Scholar
  13. 13.
    Finkel, A., Schnoebelen, P.: Well-structured transition systems everywhere!. Theor. Comput. Sci. 256(1–2), 63–92 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Fraca, E., Haddad, S.: Complexity analysis of continuous Petri nets. Fundam. Informaticae 137(1), 1–28 (2015)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Ganty, P.: Algorithmes et structures de données efficaces pour la manipulation de contraintes sur les intervalles (in French). Master’s thesis, Université Libre de Bruxelles, Belgium (2002)Google Scholar
  16. 16.
    Ganty, P., Meuter, C., Delzanno, G., Kalyon, G., Raskin, J.-F., Van Begin, L.: Symbolic data structure for sets of \(k\)-uples. Technical report 570, Université Libre de Bruxelles, Belgium (2007)Google Scholar
  17. 17.
    Geeraerts, G., Raskin, J.-F., Van Begin, L.: Expand, enlarge and check: new algorithms for the coverability problem of WSTS. J. Comput. Syst. Sci. 72(1), 180–203 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Geeraerts, G., Raskin, J.-F., Van Begin, L.: On the efficient computation of the minimal coverability set of petri nets. Int. J. Found. Comput. Sci. 21(2), 135–165 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    German, S.M., Prasad Sistla, A.: Reasoning about systems with many processes. J. ACM 39(3), 675–735 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Kaiser, A., Kroening, D., Wahl, T.: A widening approach to multithreaded program verification. ACM Trans. Program. Lang. Syst. 36(4), 1–29 (2014)CrossRefGoogle Scholar
  21. 21.
    Karp, R.M., Miller, R.E.: Parallel program schemata: a mathematical model for parallel computation. In Switching and Automata Theory, pp. 55–61. IEEE Computer Society (1967)Google Scholar
  22. 22.
    Kloos, J., Majumdar, R., Niksic, F., Piskac, R.: Incremental, inductive coverability. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 158–173. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  23. 23.
    Leroux, J., Schmitz, S.: Demystifying reachability in vector addition systems. In: Logic in Computer Science, LICS, pp. 56–67. IEEE (2015)Google Scholar
  24. 24.
    Rackoff, C.: The covering and boundedness problems for vector addition systems. Theor. Comput. Sci. 6, 223–231 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Reynier, P.-A., Servais, F.: Minimal coverability set for petri nets: karp and miller algorithm with pruning. Fundam. Inform. 122(1–2), 1–30 (2013)MathSciNetzbMATHGoogle Scholar
  26. 26.
    Sontag, E.D.: Real addition and the polynomial hierarchy. Inf. Process. Lett. 20(3), 115–120 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Valmari, A., Hansen, H.: Old and new algorithms for minimal coverability sets. Fundam. Inform. 131(1), 1–25 (2014)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Verma, K.N., Seidl, H., Schwentick, T.: On the complexity of equational horn clauses. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 337–352. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Michael Blondin
    • 1
    • 2
    Email author
  • Alain Finkel
    • 2
  • Christoph Haase
    • 2
  • Serge Haddad
    • 2
    • 3
  1. 1.DIROUniversité de MontréalMontrealCanada
  2. 2.LSV, CNRS and ENS Cachan, Université Paris-SaclayCachanFrance
  3. 3.InriaCachanFrance

Personalised recommendations