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.
Similar content being viewed by others
References
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.
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.
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.
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.
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.
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.
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.
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.
G.J. Holzmann, “Pan—a protocol specification analyzer,” Technical report, Technical Memorandum 81-11271-5, Bell Laboratories, 1981.
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.
G.J. Holzmann, “Tracing protocols,”AT&T Technical Journal, Vol. 64, No. 12, pp. 2413–2434, 1985.
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.
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.
G.J. Holzmann,Design and Validation of Computer Protocols, Prentice Hall, 1991.
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.
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.
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.
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.
M. Trehel and M. Naimi, “Un algorithme distribué d'exclusion mutuelle en log(n),”Technique et Science Informatiques, pp. 141–150, 1987.
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01384077