Advertisement

The ComBack Method – Extending Hash Compaction with Backtracking

  • Michael Westergaard
  • Lars Michael Kristensen
  • Gerth Stølting Brodal
  • Lars Arge
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4546)

Abstract

This paper presents the ComBack method for explicit state space exploration. The ComBack method extends the well-known hash compaction method such that full coverage of the state space is guaranteed. Each encountered state is mapped into a compressed state descriptor (hash value) as in hash compaction. The method additionally stores for each state an integer representing the identity of the state and a backedge to a predecessor state. This allows hash collisions to be resolved on-the-fly during state space exploration using backtracking to reconstruct the full state descriptors when required for comparison with newly encountered states. A prototype implementation of the ComBack method is used to evaluate the method on several example systems and compare its performance to related methods. The results show a reduction in memory usage at an acceptable cost in exploration time.

Keywords

State Number Model Check Hash Function State Table Reachable State 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Behrmann, G., Larsen, K.G., Pelánek, R.: To Store or Not to Store. In: Proc. of CAV 2003. LNCS, vol. 2725, pp. 433–445. Springer, Heidelberg (2003)Google Scholar
  2. 2.
    Bryant, R.E.: Graph Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)Google Scholar
  3. 3.
    Christensen, S., Kristensen, L.M., Mailund, T.: A Sweep-Line Method for State Space Exploration. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001)Google Scholar
  4. 4.
    Dillinger, P.C., Manolios, P.: Fast and accurate Bitstate Verification for SPIN. In: Graf, S., Mounier, L. (eds.) Proc. of SPIN 2004. LNCS, vol. 2989, Springer, Heidelberg (2004)Google Scholar
  5. 5.
    Geldenhuys, J., Valmari, A.: A Nearly Memory-Optimal Data Structure for Sets and Mappings. In: Ball, T., Rajamani, S.K. (eds.) Proc. of SPIN 2003. LNCS, vol. 2648, pp. 136–150. Springer, Heidelberg (2003)Google Scholar
  6. 6.
    Godefroid, P., Holzmann, G.J., Pirottin, D.: State-Space Caching Revisited. Formal Methods in System Design 7(3), 227–241 (1995)CrossRefGoogle Scholar
  7. 7.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  8. 8.
    Holzmann, G.J.: An Analysis of Bitstate Hashing. Formal Methods in System Design 13, 289–307 (1998)CrossRefGoogle Scholar
  9. 9.
    Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley, London (2004)Google Scholar
  10. 10.
    Ip, C.N., Dill, D.L.: Better Verification Through Symmetry. Formal Methods in System Design, vol. 9 (1996)Google Scholar
  11. 11.
    Jensen, K.: Coloured Petri Nets—Basic Concepts, Analysis Methods and Practical Use. In: Basic Concepts, vol. 1, Springer, Heidelberg (1992)Google Scholar
  12. 12.
    Jensen, K.: Condensed State Spaces for Symmetrical Coloured Petri Nets. Formal Methods in System Design, vol. 9 (1996)Google Scholar
  13. 13.
    Kam, T.: State Minimization of Finite State Machines using Implicit Techniques. PhD thesis, University of California at Berkeley (1995)Google Scholar
  14. 14.
    Kristensen, L.M., Jensen, K.: Specification and Validation of an Edge Router Discovery Protocol for Mobile Ad-hoc Networks. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) Proc. of INT’04. LNCS, vol. 3147, pp. 248–269. Springer, Heidelberg (2004)Google Scholar
  15. 15.
    Kupferman, O., Vardi, M.Y., Wolper, P.: An Automata-Theoretic Approach to Branching-Time Model Checking. Journal of the ACM 47(2), 312–360 (2000)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  17. 17.
    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
  18. 18.
    Ratzer, A.V., Wells, L., Lassen, H.M., Laursen, M., Qvortrup, J.F., Stissing, M.S., Westergaard, M., Christensen, S., Jensen, K.: CPN Tools for Editing, Simulating, and Analysing Coloured Petri Nets. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 450–462. Springer, Heidelberg (2003)Google Scholar
  19. 19.
    Reisig, W.: Petri Nets. In: EATCS Monographs on Theoretical Computer Science, vol. 4, Springer, Heidelberg (1985)Google Scholar
  20. 20.
    Schmidt, K.: LoLA - A Low Level Analyser . In: Nielsen, M., Simpson, D. (eds.) ICATPN 2000. LNCS, vol. 1825, pp. 465–474. Springer, Heidelberg (2000)Google Scholar
  21. 21.
    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
  22. 22.
    Stern, U., Dill, D.L.: Using Magnetic Disk instead of Main Memory in the Murphi Verifier. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 172–183. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  23. 23.
    Ullman, J.D.: Elements of ML Programming. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  24. 24.
    Valmari, A.: Stubborn Sets for Reduced State Space Generation. In: Advances in Petri Nets ’90. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1990)Google Scholar
  25. 25.
    Valmari, A.: The State Explosion Problem. In: Reisig, W., Rozenberg, G. (eds.) Lectures on Petri Nets I: Basic Models. LNCS, vol. 1491, pp. 429–528. Springer, Heidelberg (1998)Google Scholar
  26. 26.
    Vardi, M., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: Proc. of IEEE Symposium on Logic in Computer Science, pp. 322–331 (1986)Google Scholar
  27. 27.
    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 Berlin Heidelberg 2007

Authors and Affiliations

  • Michael Westergaard
    • 1
  • Lars Michael Kristensen
    • 1
  • Gerth Stølting Brodal
    • 1
  • Lars Arge
    • 1
  1. 1.Department of Computer Science, University of Aarhus, IT-parken, Aabogade 34, DK-8200 Aarhus NDenmark

Personalised recommendations