Abstract

We present MC2, 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 δ, MC2 takes M = ln (δ) / ln (1 – ε) random samples (random walks ending in a cycle, i.e lassos) from the Büchi automaton B = BS ×B¬ϕ. to decide if L(B) = ∅. Let pZ be the expectation of an accepting lasso in B. Should a sample reveal an accepting lasso l, MC2 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 pZε, 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 MC2 is fast, memory-efficient, and scales extremely well.

References

  1. 1.
    Aziz, A., Sanwal, K., Singhal, V., Brayton, R.K.: Verifying continuous-time Markov chains (1996)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    Alur, R., Henzinger, T.A.: Reactive modules. Formal Methods in System Design 15(1), 7–48 (1999)CrossRefMathSciNetGoogle Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Dagum, P., Karp, R., Luby, M., Ross, S.: An optimal algorithm for Monte Carlo estimation. SIAM Journal on Computing 29(5), 1484–1496 (2000)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Duncan, A.J.: Quality Control and Industrial Statistics. Irwin-Dorsley (1974)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    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
  12. 12.
    Hansson, H., Jonsson, B.: A logic for reasoning about time and reliability. Formal Aspects of Computing 6(5), 512–535 (1994)MATHCrossRefGoogle Scholar
  13. 13.
    Haslum, P.: Model checking by random walk. In: Proc. of 1999 ECSEL Workshop (1999)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    Lowe, G.: An attack on the Needham-Schroeder public-key authentication protocol. Information Processing Letters, 131–133 (1995)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)MATHGoogle Scholar
  22. 22.
    Needham, R., Schroeder, M.D.: Using encryption for authentication in large networks of computers. Communications of the ACM 21(12), 993–999 (1978)MATHCrossRefGoogle Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logic. Journal of the ACM 32, 733–749 (1985)MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    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)CrossRefGoogle Scholar
  33. 33.
    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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Radu Grosu
    • 1
  • Scott A. Smolka
    • 1
  1. 1.Dept. of Computer ScienceStony Brook Univ.Stony BrookUSA

Personalised recommendations