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.
Similar content being viewed by others
References
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
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
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
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
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
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
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
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
Č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
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
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
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
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
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
Dickson LE (1913) Finiteness of the odd perfect and primitive abundant numbers with r distinct prime factors. Am J Math 35:413–422
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
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
Esparza J, Melzer S (2000) Verification of safety properties using integer programming: beyond the state equation. Formal Meth Sys Design 16:159–189
Finkel A (1990) Reduction and covering of infinite reachability trees. Inform Comput 89(2):144–179
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
Finkel A, Schnoebelen P (2001) Well-structured transition systems everywhere! Theor Comput Sci 256(1–2):63–92
Fraïssé R (2000) Theory of relations.. Studies in logic and the foundations of mathematics, Elsevier, Amsterdam
German SM, Sistla AP (1992) Reasoning about systems with many processes. J ACM 39(3):675–735
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
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
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
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
Karp RM, Miller RE (1969) Parallel program schemata. J Comput Sys Sci 3:147–195
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
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
Minsky NM (1967) Finite and infinite machines. Prentice-Hall, Upper Saddle River, NJ
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
Reisig W (1986) Petri Nets: an introduction. EATCS monographs on theoretical computer science. Springer, Berlin Heidelberg New York
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
Teruel E (1994) Structure theory of weighted place/transition net systems: the equal conflict hiatus. PhD thesis, University of Zaragoza, Spain
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
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
Author information
Authors and Affiliations
Corresponding authors
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-003-0110-0