Cluster-Based LTL Model Checking of Large Systems

  • Jiří Barnat
  • Luboš Brim
  • Ivana Černá
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4111)


In recent years a bundle of parallel and distributed algorithms for verification of finite state systems has appeared. We survey distributed-memory enumerative LTL model checking algorithms designed for networks of workstations communicating via MPI. In the automata-based approach to LTL model checking the problem is reduced to the accepting cycle detection problem in a graph. Distributed algorithms, in opposite to sequential ones, cannot rely on depth-first search postorder which is essential for efficient detection of accepting cycles. Therefore, diverse conditions that characterise the existence of cycles in a graph have to be employed in order to come up with efficient and practical distributed algorithms. We compare these algorithms both theoretically and experimentally and determine cases where particular algorithms can be successful.


Model Check Initial Vertex Negative Cycle Strongly Connect Component Quotient Graph 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bao, T., Jones, M.: Time-Efficient Model Checking with Magnetic Disks. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 526–540. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Barnat, J., Brim, L., Chaloupka, J.: Parallel Breadth-First Search LTL Model-Checking. In: Proc. 18th IEEE International Conference on Automated Software Engineering, pp. 106–115. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar
  3. 3.
    Barnat, J., Brim, L., Stříbrná, J.: Distributed LTL model-checking in SPIN. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 200–216. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Barnat, J., Brim, L., Černá, I., Šimeček, P.: DiVinE – The Distributed Verification Environment. In: Proceedings of 4th International Workshop on Parallel and Distributed Methods in verifiCation, pp. 89–94 (2005)Google Scholar
  5. 5.
    Barnat, J., Černá, I.: Distributed Breadth-First Search LTL Model Checking. Formal Methods in System Design (to appear, 2006)Google Scholar
  6. 6.
    Barnat, J.: Distributed Memory LTL Model Checking. PhD thesis, Faculty of Informatics, Masaryk University Brno (2004)Google Scholar
  7. 7.
    Behrmann, G., Hune, T.S., Vaandrager, F.W.: Distributed Timed Model Checking – How the Search Order Matters. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 216–231. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Bell, A., Haverkort, B.R.: Sequential and distributed model checking of petrinet specifications. Int. J. Softw. Tools Technol. Transfer 7(1), 43–60 (2005)CrossRefGoogle Scholar
  9. 9.
    Bellman, R.: On a Routing Problem. Quarterly of Applied Mathematics 16(1), 87–90 (1958)MATHMathSciNetGoogle Scholar
  10. 10.
    Blom, S., Orzan, S.: A Distributed Algorithm for Strong Bisimulation Reduction Of State Spaces. Int. J. Softw. Tools Technol. Transfer 7(1), 74–86 (2005)CrossRefGoogle Scholar
  11. 11.
    Bollig, B., Leucker, M., Weber, M.: Parallel Model Checking for the Alternation Free μ-Calculus. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 543–558. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Brim, L., Černá, I., Krčál, P., Pelánek, R.: Distributed LTL Model Checking Based on Negative Cycle Detection. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245, pp. 96–107. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    Brim, L., Černá, I., Krčál, P., Pelánek, R.: How to Employ Reverse Search in Distributed Single-Source Shortest Paths. In: Pacholski, L., Ružička, P. (eds.) SOFSEM 2001. LNCS, vol. 2234, pp. 191–200. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Brim, L., Černá, I., Moravec, P., Šimša, J.: Accepting Predecessors are Better than Back Edges in Distributed LTL Model-Checking. In: Hu, A.J., Martin, A.K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 352–366. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Brim, L., Černá, I., Moravec, P., Šimša, J.: Distributed Partial Order Reduction. Electronic Notes in Theoretical Computer Science 128, 63–74 (2005)CrossRefGoogle Scholar
  16. 16.
    Brim, L., Černá, I., Moravec, P., Šimša, J.: How to Order Vertices for Distributed LTL Model-Checking Based on Accepting Predecessors. In: 4th International Workshop on Parallel and Distributed Methods in verifiCation (PDMC 2005) (July 2005)Google Scholar
  17. 17.
    Brim, L., Černá, I., Hejtmánek, L.: Distributed Negative Cycle Detection Algorithms. In: Proc. Parallel Computing: Software Technology, Algorithms, Architectures & Applications. Advances in Parallel Computing, vol. 13, pp. 297–305. Elsevier, Amsterdam (2004)CrossRefGoogle Scholar
  18. 18.
    Černá, I., Pelánek, R.: Distributed Explicit Fair cycle Detection (Set Based Approach). In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 49–73. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Černá, I., Pelánek, R.: Relating Hierarchy of Temporal Properties to Model Checking. In: Rovan, B., Vojtáš, P. (eds.) MFCS 2003. LNCS, vol. 2747, pp. 318–327. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Cherkassky, B.V., Goldberg, A.V.: Negative-Cycle Detection Algorithms. Mathematical Programming 85, 277–311 (1999)MATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT, Cambridge (1999)Google Scholar
  22. 22.
    Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-Efficient Algorithms for the Verification of Temporal Properties. Formal Methods in System Design 1, 275–288 (1992)CrossRefGoogle Scholar
  23. 23.
    Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property Specification Patterns for Finite-State Verification. In: Proc. Workshop on Formal Methods in Software Practice, pp. 7–15. ACM Press, New York (1998)CrossRefGoogle Scholar
  24. 24.
    Edelkamp, S., Jabbar, S.: Large-Scale Directed Model Checking LTL. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 1–18. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  25. 25.
    Esparza, J., Schwoon, S.: A note on on-the-fly verification algorithms. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 174–190. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    Fisler, K., Fraer, R., Kamhi, G., Vardi, M.Y., Yang, Z.: Is there a best symbolic cycle-detection algorithm? In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS 2001. LNCS, vol. 2031, pp. 420–434. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  27. 27.
    Ford, L.R.: Network Flow Theory. Rand Corp., Santa Monica (1956)Google Scholar
  28. 28.
    Garavel, H., Mateescu, R., Smarandache, I.: Parallel State Space Construction for Model-Checking. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 216–234. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  29. 29.
    Grumberg, O., Heyman, T., Ifergan, N., Schuster, A.: achieving speedups in distributed symbolic reachability analysis through asynchronous computation. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 129–145. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  30. 30.
    Grumberg, O., Heyman, T., Schuster, A.: Distributed Model Checking for μ-calculus. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 350–362. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  31. 31.
    Haverkort, B.R., Bell, A., Bohnenkamp, H.C.: On the Efficient Sequential and Distributed Generation of Very Large Markov Chains From Stochastic Petri Nets. In: Proc. 8th Int. Workshop on Petri Net and Performance Models, pp. 12–21. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  32. 32.
    Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar
  33. 33.
    Holzmann, G.J., Peled, D., Yannakakis, M.: On Nested Depth First Search. In: Proc. SPIN Workshop on Model Checking of Software, pp. 23–32. American Mathematical Society, Providence (1996)Google Scholar
  34. 34.
    Jabbar, S., Edelkamp, S.: Parallel External Directed Model Checking with Linear I/O. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 237–251. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  35. 35.
    Lerda, F., Sisto, R.: Distributed-Memory Model Checking with SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 22–39. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  36. 36.
    Pelánek, R.: Typical Structural Properties of State Spaces. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 5–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  37. 37.
    Pnueli, A.: The Temporal Logic of Concurrent Programs. Theoretical Computer Science 13, 45–60 (1981)MATHCrossRefMathSciNetGoogle Scholar
  38. 38.
    Ravi, K., Bloem, R., Somenzi, F.: A Comparative Study of Symbolic Algorithms for the Computation of Fair Cycles. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 143–160. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  39. 39.
    Reif, J.: Depth-first Search is Inherently Sequential. Information Proccesing Letters 20(5), 229–234 (1985)MATHCrossRefMathSciNetGoogle Scholar
  40. 40.
    Stern, U., Dill, D.L.: Using magnetic disc instead of main memory in the murϕ verifier. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 172–183. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  41. 41.
    Tarjan, R.: Depth First Search and Linear Graph Algorithms. SIAM Journal on Computing, 146–160 (January, 1972)Google Scholar
  42. 42.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. IEEE Symposium on Logic in Computer Science, pp. 322–331. Computer Society Press (1986)Google Scholar
  43. 43.
    Šimeček, P.: DiVinE – Distributed Verification Environment. Master’s thesis, Masaryk Univeristy Brno (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jiří Barnat
    • 1
  • Luboš Brim
    • 1
  • Ivana Černá
    • 1
  1. 1.Department of Computer Science, Faculty of InformaticsMasaryk UniversityBrnoCzech Republic

Personalised recommendations