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
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)