Abstract
State space caching is a state space exploration method that stores all states of just one execution sequence plus as many previously visited states as available memory allows. So far, this technique has been of little practical significance. With a conventional reachability analysis, it allows one to reduce memory usage by only two to three times, before an unacceptable exponential increase of the run-time overhead sets in. The explosion of the run-time requirements is caused by 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. There are two causes for this: firstly, several different partial orderings of statement executions can lead to the same state; secondly, all interleavings of a same partial ordering of statement executions lead to the same state. In this paper, we describe a method to completely avoid the effects of the second cause given above. We show that with this method, most reachable states are visited only once during the state space exploration. This makes for the first time state space caching a very efficient verification method. We were able, for instance, to completely explore a state space of 250,000 states while storing simultaueously no more than 500 states and with only a three-fold increase of the run-time requirements.
Cite
CITATION STYLE
Godefroid, P., Holzmann, G. J., & Pirottin, D. (1993). State space caching revisited. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 663 LNCS, pp. 178–191). Springer Verlag. https://doi.org/10.1007/3-540-56496-9_15
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.