Parallel Explicit Model Checking for Generalized Büchi Automata

  • Etienne Renault
  • Alexandre Duret-Lutz
  • Fabrice Kordon
  • Denis Poitrenaud
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9035)


We present new parallel emptiness checks for LTL model checking. Unlike existing parallel emptiness checks, these are based on an SCC enumeration, support generalized Büchi acceptance, and require no synchronization points nor repair procedures. A salient feature of our algorithms is the use of a global union-find data structure in which multiple threads share structural information about the automaton being checked. Our prototype implementation has encouraging performances: the new emptiness checks have better speedup than existing algorithms in half of our experiments.


Model Check Prototype Implementation Multiple Thread Strongly Connect Component Good Speedup 
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.


  1. 1.
    Anderson, R.J., Woll, H.: Wait-free parallel algorithms for the union-find problem. In: Proc. 23rd ACM Symposium on Theory of Computing, pp. 370–380 (1994)Google Scholar
  2. 2.
    Barnat, J., Brim, L., Chaloupka, J.: Parallel breadth-first search LTL model-checking. In: ASE 2003, pp. 106–115. IEEE Computer Society (2003)Google Scholar
  3. 3.
    Barnat, J., Brim, L., Chaloupka, J.: From distributed memory cycle detection to parallel LTL model checking. In: FMICS 2004, vol. 133. ENTCS, pp. 21–39 (2005)Google Scholar
  4. 4.
    Barnat, J., Brim, L., Ročkai, P.: A time-optimal on-the-fly parallel algorithm for model checking of weak LTL properties. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 407–425. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Barnat, J., Brim, L., Ročkai, P.: Scalable shared memory LTL model checking. STTT 12(2), 139–153 (2010)CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
    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
  8. 8.
    Č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
  9. 9.
    Č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
  10. 10.
    Couvreur, J.-M., Duret-Lutz, A., Poitrenaud, D.: On-the-fly emptiness checks for generalized Büchi automata. In: Godefroid, P. (ed.) SPIN 2005. LNCS, vol. 3639, pp. 143–158. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  11. 11.
    Dijkstra, E.W.: EWD 376: Finding the maximum strong components in a directed graph (May 1973),
  12. 12.
    Duret-Lutz, A., Poitrenaud, D.: SPOT: an Extensible Model Checking Library using Transition-based Generalized Büchi Automata. In: MASCOTS 2004, pp. 76–83. IEEE Computer Society Press (October 2004)Google Scholar
  13. 13.
    Evangelista, S., Petrucci, L., Youcef, S.: Parallel nested depth-first searches for LTL model checking. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 381–396. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, vol. 7561, pp. 269–283. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  15. 15.
    Gaiser, A., Schwoon, S.: Comparison of algorithms for checking emptiness on Büchi automata. In: MEMICS 2009. OASICS, vol. 13. Schloss Dagstuhl, Leibniz-Zentrum fuer Informatik, Germany (2009)Google Scholar
  16. 16.
    Holzmann, G.J., Joshi, R., Groce, A.: Swarm verification techniques. IEEE Transaction on Software Engineering 37(6), 845–857 (2011)CrossRefGoogle Scholar
  17. 17.
    Laarman, A., van de Pol, J.: Variations on multi-core nested depth-first search. In: PDMC, pp. 13–28 (2011)Google Scholar
  18. 18.
    Laarman, A., Langerak, R., van de Pol, J., Weber, M., Wijs, A.: Multi-core nested depth-first search. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 321–335. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Nuutila, E., Soisalon-Soininen, E.: On finding the strongly connected components in a directed graph. Information Processing Letters 49(1), 9–14 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  20. 20.
    Patwary, M.M.A., Blair, J.R.S., Manne, F.: Experiments on union-find algorithms for the disjoint-set data structure. In: Festa, P. (ed.) SEA 2010. LNCS, vol. 6049, pp. 411–423. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  21. 21.
    Pelánek, R.: BEEM: benchmarks for explicit model checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Pelánek, R.: Properties of state spaces and their applications. International Journal on Software Tools for Technology Transfer (STTT) 10, 443–454 (2008)CrossRefGoogle Scholar
  23. 23.
    Reif, J.H.: Depth-first search is inherently sequential. Information Processing Letters 20, 229–234 (1985)CrossRefzbMATHMathSciNetGoogle Scholar
  24. 24.
    Renault, E., Duret-Lutz, A., Kordon, F., Poitrenaud, D.: Three SCC-based emptiness checks for generalized Büchi automata. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR-19 2013. LNCS, vol. 8312, pp. 668–682. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  25. 25.
    Renault, E., Duret-Lutz, A., Kordon, F., Poitrenaud, D.: Strength-based decomposition of the property büchi automaton for faster model checking. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 580–593. Springer, Heidelberg (2013)Google Scholar
  26. 26.
    Schwoon, S., Esparza, J.: 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
  27. 27.
    Tarjan, R.: Depth-first search and linear graph algorithms. SIAM Journal on Computing 1(2), 146–160 (1972)CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Etienne Renault
    • 1
    • 2
    • 3
  • Alexandre Duret-Lutz
    • 1
  • Fabrice Kordon
    • 2
    • 3
  • Denis Poitrenaud
    • 3
    • 4
  1. 1.LRDE, EPITA, Kremlin-BicêtreParisFrance
  2. 2.Sorbonne Universités, UPMC Univ.Paris 06France
  3. 3.CNRS UMR 7606, LIP6ParisFrance
  4. 4.Université Paris DescartesParisFrance

Personalised recommendations