Abstract
We present MC 2, what we believe to be the first randomized, Monte Carlo algorithm for temporal-logic model checking. Given a specification S of a finite-state system, an LTL formula ϕ, and parameters ε and δ, MC 2 takes M = ln (δ) / ln (1 – ε) random samples (random walks ending in a cycle, i.e lassos) from the Büchi automaton B = B S ×B ¬ϕ . to decide if L(B) = ∅. Let p Z be the expectation of an accepting lasso in B. Should a sample reveal an accepting lasso l, MC 2 returns false with l as a witness. Otherwise, it returns true and reports that the probability of finding an accepting lasso through further sampling, under the assumption that p Z ≥ ε, is less than δ. It does so in time O(MD) and space O(D), where D is B’s recurrence diameter, using an optimal number of samples M. Our experimental results demonstrate that MC 2 is fast, memory-efficient, and scales extremely well.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Aziz, A., Sanwal, K., Singhal, V., Brayton, R.K.: Verifying continuous-time Markov chains (1996)
Alur, R., de Alfaro, L., Grosu, R., Henzinger, T.A., Kang, M., Kirsch, C.M., Majumdar, R., Mang, F., Wang, B.Y.: jMocha: A model checking tool that exploits design structure. In: Proceedings of the 23rd international conference on Software engineering, pp. 835–836. IEEE Computer Society, Los Alamitos (2001)
Alur, R., Henzinger, T.A.: Reactive modules. Formal Methods in System Design 15(1), 7–48 (1999)
Baier, C., Haverkort, B., Hermanns, H., Katoen, J.-P.: Efficient computation of time-bounded reachability probabilities in uniform continuous-time Markov decision processes. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 61–76. Springer, Heidelberg (2004)
Brim, L., Černá, I., Nečesal, M.: Randomization helps in LTL model checking. In: de Luca, L., Gilmore, S. (eds.) PROBMIV 2001, PAPM-PROBMIV 2001, and PAPM 2001. LNCS, vol. 2165, pp. 105–119. Springer, Heidelberg (2001)
Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)
Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Proc. Workshop on Logic of Programs. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1981)
Dagum, P., Karp, R., Luby, M., Ross, S.: An optimal algorithm for Monte Carlo estimation. SIAM Journal on Computing 29(5), 1484–1496 (2000)
Duncan, A.J.: Quality Control and Industrial Statistics. Irwin-Dorsley (1974)
Grosu, R., Smolka, S.A.: Monte carlo model checking (extended version). In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 271–286. Springer, Heidelberg (2005)
Grosu, R., Smolka, S.A.: Quantitative model checking. In: First Intl. Symp. on Leveraging Applications of Formal Methods (Participants Proceedings) (2004), Also available from http://www.cs.sunysb.edu/~sas/papers/GS04.pdf
Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects of Computing 6(5), 512–535 (1994)
Haslum, P.: Model checking by random walk. In: Proc. of 1999 ECSEL Workshop (1999)
Heimdahl, M., Gao, J., Owen, D., Menzies, T.: On the advantages of approximate vs. complete verification: Bigger models, faster, less memory, usually accurate. In: Proc. of 28th Annual NASA Goddard Software Engineering Workshop, SEW 2003 (2003)
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)
Kwiatkowska, M.Z., Norman, G., Parker, D.: PRISM: Probabilistic symbolic model checker. In: Proceedings of the 12th International Conference on Computer Performance Evaluation, Modelling Techniques and Tools, pp. 200–204. Springer, Heidelberg (2002)
Lowe, G.: An attack on the Needham-Schroeder public-key authentication protocol. Information Processing Letters, 131–133 (1995)
Lowe, G.: Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In: Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems, pp. 147–166. Springer, Heidelberg (1996)
Mihail, M., Papadimitriou, C.H.: On the random walk method for protocol testing. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 132–141. Springer, Heidelberg (1994)
Monniaux, D.: An abstract monte-carlo method for the analysis of probabilistic programs. In: Proc. 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 93–101. ACM Press, New York (2001)
Mood, A.M., Graybill, F.A., Boes, D.C.: Introduction to the Theory of Statistics. McGraw-Hill Series in Probability and Statistics, New York (1974)
Needham, R., Schroeder, M.D.: Using encryption for authentication in large networks of computers. Communications of the ACM 21(12), 993–999 (1978)
Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in Cesar. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, Springer, Berlin (1982)
Rudin, H.: Protocol development success stories: Part 1. In: Proc. 12th Int. Symp. on Protocol Specification, Testing and Verification, pp. 149–160. North Holland, Amsterdam (1992)
Segala, R., Lynch, N.A.: Probabilistic simulations for probabilistic processes. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 481–496. Springer, Heidelberg (1994)
Sen, K., Viswanathan, M., Agha, G.: Statistical model checking of black-box probabilistic systems. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 202–215. Springer, Heidelberg (2004)
Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logic. Journal of the ACM 32, 733–749 (1985)
Stark, E.W., Smolka, S.A.: Compositional analysis of expected delays in networks of probabilistic I/O automata. In: Proc. 13th Annual Symposium on Logic in Computer Science, Indianapolis, IN, pp. 466–477. IEEE Computer Society Press, Los Alamitos (1998)
Tronci, E., Penna, G.D., Intrigila, B., Venturini, M.: A probabilistic approach to automatic verification of concurrent systems. In: Proc. of 8th IEEE Asia-Pacific Software Engineering Conference, APSEC (2001)
Vardi, M., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. IEEE Symposium on Logic in Computer Science, pp. 332–344 (1986)
West, C.H.: Protocol validation by random state exploration. In: Proc. Sixth IFIP WG 6.1 Int. Workshop on Protocol Specification, Testing, and Verification. North Holland, Amsterdam (1986)
West, C.H.: Protocol validation in complex systems. In: SIGCOMM 1989: Symposium proceedings on Communications architectures & protocols, pp. 303–312. ACM Press, New York (1989)
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, p. 223. Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Grosu, R., Smolka, S.A. (2005). Monte Carlo Model Checking. In: Halbwachs, N., Zuck, L.D. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2005. Lecture Notes in Computer Science, vol 3440. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31980-1_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-31980-1_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25333-4
Online ISBN: 978-3-540-31980-1
eBook Packages: Computer ScienceComputer Science (R0)