Skip to main content
Log in

State-space caching revisited

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

State-space caching is a verification technique for finite-state concurrent systems. It performs an exhaustive exploration of the state space of the system being checked while storing only all states of just one execution sequence plus as many other previously visited states as available memory allows. So far, this technique has been of little practical significance: it allows one to reduce memory usage by only twoo to three times, before an unacceptable blow-up of the run-time overhead sets in. The explosion of the run-time requirements is due to redundant multiple explorations of unstored parts of the state space. Indeed, almost all states in the state space of concurrent systems are typically reached several times during the search.

In this paper, we present a method to tackle the main cause of this prohibitive state matching: the exploration of all possible interleavings of concurrent executions of the system which all lead to the same state. Then, we show that, in many cases, with this method, most reachable states are visited only once during state-space exploration. This enables one not to store most of the states that have already been visited without incurring too much redundant explorations of parts of the state space, and makes therefore state-space caching a much more attractive verification method. As an example, we were able to competely explore a state space of 250,000 states while storing simultaneously no more than 500 states and with only a three-fold increas of the run-time requirements.

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.

Similar content being viewed by others

References

  1. C. Courcoubetis, M. Vardi, P. Wolper, and M. Yannakakis, “Memory efficient algorthms for the verification of temporal properties,” inProc. 2nd Workshop on Computer Aided Verification, Vol. 531 of Lecture Notes in Computer Science, Rutgers, June 1990, pp. 233–242.

  2. A.G. Fraser and W.T. Marshall, “Data transport in byte stream network,”IEEE Journal on Selected Areas in Communications, Vol. 7, No. 7, pp. 1020–1033, 1989.

    Google Scholar 

  3. P. Godefroid and G.J. Holzmann, “On the verification of temporal properties,” inProc. 13th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification, Liège, North-Holland, May 1993, pp. 109–124.

    Google Scholar 

  4. P. Godefroid, G.J. Holzmann, and D. Pirottin, “State space caching revisited,” inProc. 4th Workshop on Computer Aided Verification, Vol. 663 of Lecture Notes in Computer Science, Montreal, Springer-Verlag, 1992, pp. 178–191.

    Google Scholar 

  5. P. Godefroid, “Using partial orders to improve automatic verification methods,” inProc. 2nd Workshop on Computer Aided Verification, Vol. 531 of Lecture Notes in Computer Science, Rutgers, June 1990, pp. 176–185. Extended version inACM/AMS DIMACS Series, Vol. 3, pp. 321–340, 1991.

  6. P. Godefroid and D. Pirottin, “Refining dependencies improves partial-order verification methods,” inProc. 5th Conference on Computer Aided Verification, Vol. 697 of Lecture Notes in Computer Science, Elounda, Springer-Verlag, June 1993, pp. 438–449.

    Google Scholar 

  7. P. Godefroid and P. Wolper, “Using partial orders for the efficient verification of deadlock freedom and safety properties,”Formal Methods in System Design, Kluwer Academic Publishers, Vol. 2, No. 2, pp. 149–164, April 1993.

    Google Scholar 

  8. G.J. Holzmann, P. Godefroid, and D. Pirottin, “Coverage preserving reduction strategies for reachability analysis,” inProc. 12th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification, Lake Buena Vista, Florida, North-Holland, June 1992, pp. 349–363.

    Google Scholar 

  9. G.J. Holzmann, “Pan—a protocol specification analyzer,” Technical report, Technical Memorandum 81-11271-5, Bell Laboratories, 1981.

  10. G.J. Holzmann, “The pandora system—an inteeractive system for the design of data communication protocols,”Computer Networks, Vol. 8, No. 2, pp. 71–81, 1984.

    Google Scholar 

  11. G.J. Holzmann, “Tracing protocols,”AT&T Technical Journal, Vol. 64, No. 12, pp. 2413–2434, 1985.

    Google Scholar 

  12. G.J. Holzmann, “Automated protocol validation in argos—assertion proving and scatter searching,”IEEE Trans. on Software Engineering, Vol. 13, No. 6, pp. 683–696, 1987.

    Google Scholar 

  13. G.J. Holzmann, “Algorithms for automated protocol validation,”AT&T Technical Journal, Vol. 69, No. 1, pp. 32–44, 1990. Special issue on Protocol Testing and Verification.

  14. G.J. Holzmann,Design and Validation of Computer Protocols, Prentice Hall, 1991.

  15. C. Jard and T. Jeron, “On-line model-checking for finite linear temporal logic specification,” inWorkshop on automatic verification methods for finite state systems, Vol. 407 of Lecture Notes in Computer Science, Grenoble, June 1989, pp. 189–196.

  16. C. Jard and Th. Jeron, “Bounded-memory algorithms for verification on-the-fly,” inProc. 3rd Workshop on Computer Aided Verification, Vol. 575 of Lecture Notes in Computer Science, Aalborg, July 1991.

  17. A. Mazurkiewicz, “Trace theory,” inPetri Nets: Applications and Relationships to Other Models of Concurrency, Advances in Petri Nets 1986, Part II; Proceedings of an Advanced Course, Vol. 255 of Lecture Notes in Computer Science, pp. 279–324, 1986.

  18. H. Rudin, “Protocol development success stories: Part i,” inProc. 12th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification, Lake Buena Vista, Florida, North-Holland, June 1992.

    Google Scholar 

  19. M. Trehel and M. Naimi, “Un algorithme distribué d'exclusion mutuelle en log(n),”Technique et Science Informatiques, pp. 141–150, 1987.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Godefroid, P., Holzmann, G.J. & Pirottin, D. State-space caching revisited. Form Method Syst Des 7, 227–241 (1995). https://doi.org/10.1007/BF01384077

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01384077

Key words

Navigation