Skip to main content
Log in

Covering sharing trees: a compact data structure for parameterized verification

  • Regular contribution
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The control state reachability problem is decidable for well-structured infinite-state systems like (Lossy) Petri Nets, Vector Addition Systems, and broadcast protocols. An abstract algorithm that solves the problem is the backward reachability algorithm of [1, 21 ]. The algorithm computes the closure of the predecessor operator with respect to a given upward-closed set of target states. When applied to this class of verification problems, symbolic model checkers based on constraints like [7, 26 ] suffer from the state explosion problem.

In order to tackle this problem, in [13] we introduced a new data structure, called covering sharing trees, to represent in a compact way collections of infinite sets of system configurations. In this paper, we will study the theoretical complexity of the operations over covering sharing trees needed in symbolic model checking. We will also discuss several optimizations that can be used when dealing with Petri Nets. Among them, in [14] we introduced a new heuristic rule based on structural properties of Petri Nets that can be used to efficiently prune the search during symbolic backward exploration. The combination of these techniques allowed us to turn the abstract algorithm of [1, 21 ] into a practical method. We have evaluated the method on several finite-state and infinite-state examples taken from the literature [2, 18 , 20 , 30 ]. In this paper, we will compare the results we obtained in our experiments with those obtained using other finite and infinite-state verification tools.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abdulla PA, Čerāns K, Jonsson B, Tsay YK (1996) General decidability theorems for infinite-state systems. In: Proceedings of the 11th annual symposium on logic in computer science (LICS’96), New Brunswick, NJ, 27-30 July 1996. IEEE Press, New York, pp 313–321

  2. Ajmone Marsan M, Balbo G, Conte G, Donatelli S, Franceschinis G (1995) Modelling with generalized stochastic Petri Nets. Wiley series in parallel computing. Wiley, New York

  3. Bérard B, Fribourg L (1999) Reachability analysis of (timed) Petri Nets using real arithmetic. In: Proceedings of the 10th international conference on concurrency theory (CONCUR’99), Eindhoven, August 1999. Lecture notes in computer science, vol 1664, Springer, Berlin Heidelberg New York, pp 178–193

  4. Boigelot B, Wolper P (1998) Verifying systems with infinite but regular state space. In: Proceedings of the 10th international conference on computer aided verification (CAV’98). Lecture notes in computer science, vol 1427, Springer, Berlin Heidelberg New York, pp 88–97

  5. Bouajjani A, Mayr R (1999) Model checking Lossy vector addition systems. In: Proceedings of the 16th annual symposium on theoretical aspects of computer science (STACS’99), Trier, Germany, March 1999. Lecture notes in computer science, vol 1563, Springer, Berlin Heidelberg New York, pp 323–333

  6. Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang J (1990) Symbolic model checking: 1020 states and beyond. In: Proceedings of the 5th IEEE symposium on logic in computer science (LICS’90), Philadelphia, PA, 4-7 June 1990. IEEE Press, New York, pp 428–439

  7. Bultan T, Gerber R, Pugh W (1997) Symbolic model checking of infinite-state systems using Presburger arithmetics. In: Prococeedings of the 9th international conference on computer aided verification (CAV’97), Haifa, Israel, July 1997. Lecture notes in computer science, vol 1254, Springer, Berlin Heidelberg New York, pp 400–411

  8. Bultan T (2000) BDD vs. constraint-based model checking: an experimental evaluation for asynchronous concurrent systems. In: Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems (TACAS 2000). Lecture notes in computer science, vol 1785, Springer, Berlin Heidelberg New York, pp 441–455

  9. Čerāns K (1994) Deciding properties of integral relational automata. In: Proceedings of the 21st international colloquium on automata and languages for programming (ICALP 94), Jerusalem, Israel, 11-14 July 1994. Lecture notes in computer science, vol 820, Springer, Berlin Heidelberg New York, pp 35–46

  10. Chiola G, Franceschinis G, Gaeta R, Ribaudo M (1995) GreatSPN 1.7: Graphical editor and analyzer for timed and stochastic Petri Nets. Perform Eval 24(1–2):47–68

    Article  MATH  Google Scholar 

  11. Ciardo G (1994) Petri nets with marking-dependent arc multiplicity: properties and analysis. In: Proceedings of the 15th international conference on applications and theory of Petri Nets (ICATPN 94), Zaragoza, Spain, June 1994. Lecture notes in computer science, vol 815, Springer, Berlin Heidelberg New York, pp 179–198

  12. Delzanno G, Esparza J, Podelski A (1999) Constraint-based analysis of broadcast protocols. In: Proceedings of the 13th annual conference of the European Association for Computer Science Logic (CSL’99), Chennai, India, 13-15 December 1999. Lecture notes in computer science, vol 1683, Springer, Berlin Heidelberg New York, pp 50–66

  13. Delzanno G, Raskin JF (2000) Symbolic representation of upward closed sets. In: Proceedings of the 6th international conference on tools and algorithms for the construction and analysis of systems (TACAS 2000), Berlin, Germany, March/April 2000. Lecture notes in computer science, vol 1785, Springer, Berlin Heidelberg New York, pp 426–440. Technical report MPI-I-1999-2-007, Max-Planck-Institut für Informatik, Saarbrücken, November 1999

  14. Delzanno G, Raskin JF, Van Begin L (2001) Attacking symbolic state explosion. In: Proceedings of the 13th international conference on computer aided verification (CAV 2001), Paris, France, 18-22 July 2001. Lecture notes in computer science, vol 2102, Springer, Berlin Heidelberg New York, pp 298–310. Technical report 441, Universitè Libre de Bruxelles, January 2001

  15. Dickson LE (1913) Finiteness of the odd perfect and primitive abundant numbers with r distinct prime factors. Am J Math 35:413–422

    Article  Google Scholar 

  16. Emerson EA, Namjoshi KS (1998) On model checking for non-deterministic infinite-state systems. In: Proceedings of the 13th annual symposium on logic in computer science (LICS ’98), Indiana, IN, 21-24 June 1998. IEEE Press, New York, pp 70–80

  17. Esparza J, Finkel A, Mayr R (1999) On the verification of broadcast protocols. In: Proceedings of the 14th annual symposium on logic in computer science (LICS’99), Trento, Italy, 2-5 July 1999. IEEE Press, New York, pp 352–359

  18. Esparza J, Melzer S (2000) Verification of safety properties using integer programming: beyond the state equation. Formal Meth Sys Design 16:159–189

    Article  Google Scholar 

  19. Finkel A (1990) Reduction and covering of infinite reachability trees. Inform Comput 89(2):144–179

    Article  MathSciNet  Google Scholar 

  20. Finkel A (1993) The minimal coverability graph for Petri Nets. In: Rozenberg G (ed) Advances in Petri Nets ’93, papers from the 12th International Conference on Applications and Theory of Petri Nets, Gjern, Denmark, June 1991. Lecture notes in computer science, vol 674, Springer, Berlin Heidelberg New York, pp 210–243

  21. Finkel A, Schnoebelen P (2001) Well-structured transition systems everywhere! Theor Comput Sci 256(1–2):63–92

    Article  MathSciNet  MATH  Google Scholar 

  22. Fraïssé R (2000) Theory of relations.. Studies in logic and the foundations of mathematics, Elsevier, Amsterdam

  23. German SM, Sistla AP (1992) Reasoning about systems with many processes. J ACM 39(3):675–735

    Article  Google Scholar 

  24. Grahlmann B (1997) The PEP tool. In: Proceedings of the 9th conference on computer aided verification (CAV’97), Haifa, Israel, June 1997. Lecture notes in computer science, vol 1254, Springer, Berlin Heidelberg New York, pp 440–443

  25. Henzinger MR, Henzinger TA, Kopke PK (1995) Computing simulations on finite and infinite graphs. In: Proceedings of the 36th annual IEEE symposium on foundations of computer science (FOCS’95), Milwaukee, WI, 23-25 October 1995. IEEE Press, New York, pp 453–462

  26. Henzinger TA, Ho PH, Wong-Toi H (1997) HyTech: a model checker for hybrid systems. In: Proceedings of the 9th conference on computer aided verification (CAV’97), Haifa, Israel, June 1997. Lecture notes in computer science, vol 1254, Springer, Berlin Heidelberg New York, pp 460–463

  27. Johnson DS (1990) A catalog of complexity classes. In: Van Leeuwen J (ed) Handbook of theoretical computer science, vol A: Algorithm and complexity. Elsevier, Amsterdam

  28. Karp RM, Miller RE (1969) Parallel program schemata. J Comput Sys Sci 3:147–195

    Article  Google Scholar 

  29. Kesten Y, Maler O, Marcus M, Pnueli A, Shahar E (1997) Symbolic model checking with rich assertional languages. In: Proceedings of the 9th international conference on computer aided verification (CAV ’97), Haifa, Israel, June 1997. Lecture notes in computer science, vol 1254, Springer, Berlin Heidelberg New York, pp 424–435

  30. Miner A, Ciardo G (1999) Efficient reachability set generation and storage using decision diagrams. In: Proceedings of th 20th international conference on applications and theory of Petri Nets (ICATPN ’99), Williamsburg, VA, USA, June 1999. Lecture notes in computer science, vol 1639, Springer, Berlin Heidelberg New York, pp 6–25

  31. Minsky NM (1967) Finite and infinite machines. Prentice-Hall, Upper Saddle River, NJ

  32. Møller J, Lichtenberg J, Andersen HR, Hulgaard H (1999) Difference decision diagrams. In: Proceedings of the 13th annual conference of the European Association for Computer Science Logic (CSL’99), Madrid, Spain, 20-25 September 1999. Lecture notes in computer science, vol 1683, Springer, Berlin Heidelberg New York, pp 111–125

  33. Reisig W (1986) Petri Nets: an introduction. EATCS monographs on theoretical computer science. Springer, Berlin Heidelberg New York

    MathSciNet  Google Scholar 

  34. Silva M, Teruel E, Colom JM (1998) Linear algebraic and linear programming techniques for analysis of place/transition net systems. In: Proceedings of Advances in Petri Nets, Lisbon, Portugal,22-26 June 1998. Lecture notes in computer science, vol 1491, Springer, Berlin Heidelberg New York, pp 308–309

  35. Teruel E (1994) Structure theory of weighted place/transition net systems: the equal conflict hiatus. PhD thesis, University of Zaragoza, Spain

  36. Zampuniéris D (1997) The sharing tree data structure: theory and applications in formal verification. PhD thesis, Facultés Universitaires Notre-Dame de la Paix, Namur, Belgium

    Google Scholar 

  37. Zampuniéris D, Le Charlier B (1995) Efficient handling of large sets of tuples with sharing trees. In: Proceedings of the data compressions conference (DCC’95), Snowbird, UT, USA, 28-30 March 1995, p 428

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Giorgio Delzanno, Jean-François Raskin or Laurent Van Begin.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Delzanno, G., Raskin, JF. & Van Begin, L. Covering sharing trees: a compact data structure for parameterized verification. STTT 5, 268–297 (2004). https://doi.org/10.1007/s10009-003-0110-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-003-0110-0

Keywords

Navigation