Memory-Efficient Tactics for Randomized LTL Model Checking

We study model checking of LTL properties by means of random walks, improving on the efficiency of previous results. Using a randomized algorithm to detect accepting paths makes it feasible to check extremely large models, however a naive approach may encounter many non-accepting paths or require the storage of many explicit states, making it inefficient. We study here several alternative tactics that can often avoid these problems. Exploiting probability and randomness, we present tactics that typically use only a small fraction of the memory of previous approaches, storing only accepting states or an arbitrarily small number of “token” states visited during executions. Reducing the number of stored states generally increases the expected execution time until a counterexample is found, but we demonstrate that the trade-off is biased in favor of our tactics. By applying our memory-efficient tactics to scalable models from the literature, we show that the increase in time is typically less than proportional to the saving in memory and may be exponentially smaller.

[1]  Lubos Brim,et al.  Randomization Helps in LTL Model Checking , 2001, PAPM-PROBMIV.

[2]  Alain Denise,et al.  Uniform Monte-Carlo Model Checking , 2011, FASE.

[3]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[4]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[5]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[6]  Håkan L. S. Younes,et al.  Probabilistic Verification of Discrete Event Systems Using Acceptance Sampling , 2002, CAV.

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[8]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[9]  Radu Grosu,et al.  Monte Carlo Model Checking , 2005, TACAS.

[10]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[11]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[12]  Maurice Herlihy,et al.  Fast Randomized Consensus Using Shared Memory , 1990, J. Algorithms.

[13]  Thomas Hérault,et al.  Approximate Probabilistic Model Checking , 2004, VMCAI.

[14]  Walter J. Savitch,et al.  Relationships Between Nondeterministic and Deterministic Tape Complexities , 1970, J. Comput. Syst. Sci..