Abstract
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.
D. Peled—Partly supported by Israeli Science Foundation grant 2239/15: Runtime Measuring and Checking of Cyber Physical Systems.
S. Sedwards—Partly supported by Japanese Science and Technology agency ERATO project JPMJER1603: HASUO Metamathematics for Systems Design.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
By ordering the transitions, we do not need to keep the actual states in I, but only a counter for the next enabled transition that was not tried from the previous state.
References
Aspnes, J., Herlihy, M.: Fast randomized consensus using shared memory. J. Algorithms 11(3), 441–461 (1990)
Brim, L., Černá, I., Nečesal, M.: Randomization helps in LTL model checking. In: de Alfaro, L., Gilmore, S. (eds.) PAPM-PROBMIV 2001. LNCS, vol. 2165, pp. 105–119. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44804-7_7
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2000)
Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Protocol Specification, Testing and Verification XV, Proceedings of the Fifteenth IFIP WG6.1 International Symposium on Protocol Specification, Testing and Verification, Warsaw, Poland, pp. 3–18 (1995)
Grosu, R., Smolka, S.: Monte Carlo model checking. In: 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2005, pp. 271–286 (2005)
Hérault, T., Lassaigne, R., Magniette, F., Peyronnet, S.: Approximate probabilistic model checking. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 73–84. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24622-0_8
Hinton, A., Kwiatkowska, M., Norman, G., Parker, D.: PRISM: a tool for automatic verification of probabilistic systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 441–444. Springer, Heidelberg (2006). https://doi.org/10.1007/11691372_29
Holzmann, G.J.: The SPIN Model Checker. Pearson Education, Boston (2003)
Lehmann, D.J., Rabin, M.O.: On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem. In: Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, Williamsburg, Virginia, USA, January 1981, pp. 133–138 (1981)
Manna, Z., Pnueli, A.: How to cook a temporal proof system for your pet language. In: Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas, USA, January 1983, pp. 141–154 (1983)
Oudinet, J., Denise, A., Gaudel, M., Lassaigne, R., Peyronnet, S.: Uniform Monte-Carlo model checking. In: 14th International Conference on Fundamental Approaches to Software Engineering, FASE 2011, pp. 127–140 (2011)
Savitch, W.J.: Relationships between nondeterministic and deterministic tape complexities. J. Comput. Syst. Sci. 4(2), 177–192 (1970)
Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logics. J. ACM 32(3), 733–749 (1985)
Thomas, W.: Automata on infinite objects. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pp. 133–192. MIT Press, Cambridge (1990)
Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of IEEE Symposium on Logic in Computer Science, Boston, July 1986, pp. 332–344 (1986)
Younes, H.L.S., Simmons, R.G.: Probabilistic verification of discrete event systems using acceptance sampling. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 223–235. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45657-0_17
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Larsen, K., Peled, D., Sedwards, S. (2017). Memory-Efficient Tactics for Randomized LTL Model Checking. In: Paskevich, A., Wies, T. (eds) Verified Software. Theories, Tools, and Experiments. VSTTE 2017. Lecture Notes in Computer Science(), vol 10712. Springer, Cham. https://doi.org/10.1007/978-3-319-72308-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-72308-2_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-72307-5
Online ISBN: 978-3-319-72308-2
eBook Packages: Computer ScienceComputer Science (R0)