Obtaining Memory-Efficient Reachability Graph Representations Using the Sweep-Line Method

  • Thomas Mailund
  • Michael Westergaard
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2988)


This paper is concerned with a memory-efficient representation of reachability graphs. We describe a technique that enables us to represent each reachable marking in a number of bits close to the theoretical minimum needed for explicit state enumeration. The technique maps each state vector onto a number between zero and the number of reachable states and uses the sweep-line method to delete the state vectors themselves. A prototype of the proposed technique has been implemented and experimental results are reported.


Verification state space methods state space reduction memory efficient state representation the sweep-line method 


  1. 1.
  2. 2.
    Behrmann, G., Larsen, K.G., Pelánek, R.: To Store or Not to Store. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 433–445. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Billington, J., Wilbur-Ham, M.C., Bearman, M.Y.: Automated protocol Verification. In: Proc. of IFIP WG 6.1 5th International Workshop on Protocol Specification, Testing, and Verification, pp. 59–70. Elsevier, Amsterdam (1985)Google Scholar
  4. 4.
    Bryant, R.E.: Graph Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)CrossRefGoogle Scholar
  5. 5.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic Model Checking: 1020 States and Beyond. Information and Computation 98(2), 142–170 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Christensen, S., Jørgensen, J.B., Kristensen, L.M.: Design/CPN—A Computer Tool for Coloured Petri Nets. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 209–223. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Christensen, S., Kristensen, L.M., Mailund, T.: A Sweep-Line Method for State Space Exploration. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  9. 9.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. ch. 18.4, pp. 367–375. The MIT Press, Cambridge (1990)zbMATHGoogle Scholar
  10. 10.
    Desel, J., Reisig, W.: Place/Transition Petri Nets. In: Reisig, W., Rozenberg, G. (eds.) APN 1998. LNCS, vol. 1491, pp. 122–173. Springer, Heidelberg (1998)Google Scholar
  11. 11.
    Emerson, E.A., Sistla, A.P.: Symmetry and Model Checking. Formal Methods in System Design 9 (1996)Google Scholar
  12. 12.
    Geldenhuys, J., Valmari, A.: A Nearly Memory-Optimal Data Structure for Sets and Mappings. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 136–150. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems— An Approach to the State-Explosion Problem. LNCS, vol. 1032. Springer, Heidelberg (1996)Google Scholar
  14. 14.
    Gordon, S., Kristensen, L.M., Billington, J.: Verification of a Revised WAP Wireless Transaction Protocol. In: Esparza, J., Lakos, C.A. (eds.) ICATPN 2002. LNCS, vol. 2360, pp. 182–202. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Holzmann, G.J.: An Improved Protocol Reachability Analysis Technique. Software, Practice and Experience 18(2), 137–161 (1988)CrossRefGoogle Scholar
  16. 16.
    Holzmann, G.J.: Algorithms for Automated Protocol Validation. AT&T Technical Journal 69(2), 32–44 (1990)Google Scholar
  17. 17.
    Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice-Hall International Editions (1991)Google Scholar
  18. 18.
    Holzmann, G.J.: State Compression in SPIN: Recursive Indexing and Compression Traning Runs. In: Proc. of 3rd SPIN Workshop (1997)Google Scholar
  19. 19.
    Holzmann, G.J.: An Analysis of Bitstate Hashing. Formal Methods in System Design 13, 289–307 (1998)CrossRefGoogle Scholar
  20. 20.
    Holzmann, G.J., Puri, A.: A Minimized Automaton Representation of Reachable States. Journal on Software Tools for Technology Transfer 2(3), 270–278 (1999)zbMATHCrossRefGoogle Scholar
  21. 21.
    Ip, C.N., Dill, D.L.: Better Verification Through Symmetry. Formal Methods in System Design 9 (1996)Google Scholar
  22. 22.
    Jensen, K.: Coloured Petri Nets—Basic Concepts, Analysis Methods and Practical Use. Basic Concepts, vol. 1. Springer, Heidelberg (1992)zbMATHGoogle Scholar
  23. 23.
    Jensen, K.: Coloured Petri Nets—Basic Concepts, Analysis Methods and Practical Use. Analysis Methods, vol. 2. Springer, Heidelberg (1994)Google Scholar
  24. 24.
    Kristensen, L.M., Christensen, S., Jensen, K.: The Practitioner’s Guide to Coloured Petri Nets. Journal on Software Tools for Technology Transfer 2(2), 98–132 (1998)zbMATHCrossRefGoogle Scholar
  25. 25.
    Kristensen, L.M., Mailund, T.: A Generalised Sweep-Line Method for Safety Properties. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 549–567. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  26. 26.
    Mailund, T.: Sweeping the State Space — A Sweep-Line State Space Exploration Method. PhD thesis, Department of Computer Science, University of Aarhus (2003)Google Scholar
  27. 27.
    Mäkelä, M.: Condensed Storage of Multi-Set Sequences. In: Jensen, K. (ed.) Proc. of Workshop on Practical Use of High-level Petri Nets, number DAIMI PB-547, pp. 111–126. University of Aarhus (2000)Google Scholar
  28. 28.
    McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993)zbMATHGoogle Scholar
  29. 29.
    Peled, D.: All for One, One for All: On Model Checking Using Representatives. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 409–423. Springer, Heidelberg (1993)Google Scholar
  30. 30.
    Schmidt, K.: Using Petri Net Invariants in State Space Construction. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 473–488. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  31. 31.
    Stern, U., Dill, D.L.: Improved Probabilistic Verification by Hash Compaction. In: Camurati, P.E., Eveking, H. (eds.) CHARME 1995. LNCS, vol. 987, pp. 206–224. Springer, Heidelberg (1995)Google Scholar
  32. 32.
    Ullman, J.D.: Elements of ML Programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  33. 33.
    Valmari, A.: Stubborn Sets for Reduced State Space Generation. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1991)Google Scholar
  34. 34.
    Wolper, P., Leroy, D.: Reliable Hashing without Collision Detection. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 59–70. Springer, Heidelberg (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Thomas Mailund
    • 1
  • Michael Westergaard
    • 1
  1. 1.Department of Computer ScienceUniversity of AarhusAarhus NDenmark

Personalised recommendations