Skip to main content
Log in

Variations on parallel explicit emptiness checks for generalized Büchi automata

  • TACAS 2015
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

We present new parallel explicit emptiness checks for LTL model checking. Unlike existing parallel emptiness checks, these are based on a strongly connected component (SCC) enumeration and support generalized Büchi acceptance, and require no synchronization points or recomputing 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 checked. Besides these basic algorithms, we present one architectural variant isolating threads that write to the union-find, and one extension that decomposes the automaton based on the strength of its SCCs to use more optimized emptiness checks. The results from an extensive experimentation of our algorithms and their variations show encouraging performances, especially when the decomposition technique is used.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. According to our definition, transitions of the automaton should be labeled by atomic propositions (line 8), but we omit this information as it is not pertinent to emptiness check algorithms.

  2. A complete proof can be found at: http://www.lrde.epita.fr/~renault/publis/TACAS15.pdf.

  3. Note that if A is unambiguous [7], we also have that , and are pairwise disjoint.

  4. For a description of our setup, including selected models, formulas, and detailed results, see http://www.lrde.epita.fr/~renault/benchs/STTT-2015/results.html.

  5. http://fmt.cs.utwente.nl/tools/ltsmin/#divine.

  6. For owcty and our algorithms, the run time includes the cost of generating the state-space, and of making the product with the property automaton, while cndfs explores a precomputed product. Although this sounds advantageous to cndfs in terms of absolute execution time, it may actually not be the case when measuring the scalability of the parallel algorithms: it is easier to obtain a good speedup if the cost of exploring the product automaton is high.

References

  1. Anderson, R.J., Woll, H.: Wait-free parallel algorithms for the union-find problem. In: STC’94, pp. 370–380 (1994)

  2. Barnat, J., Brim, L., Chaloupka, J.: Parallel breadth-first search LTL model-checking. In: ASE’03, pp. 106–115. IEEE Computer Society (2003)

  3. Barnat, J., Brim, L., Chaloupka, J.: From distributed memory cycle detection to parallel LTL model checking. In: FMICS’05, vol. 133 of ENTCS, pp. 21–39 (2005)

  4. Barnat, J., Brim, L., Ročkai, P.: DiVinE Multi-Core— A Parallel LTL Model-Checker. In: ATVA’08, vol. 5311 of LNCS, pp. 234–239. Springer, Berlin (2008)

  5. Barnat, J., Brim, L., Ročkai, P.: A time-optimal on-the-fly parallel algorithm for model checking of weak LTL properties. In: ICFEM’09, vol. 5885 of LNCS, pp. 407–425. Springer, Berlin (2009)

  6. Barnat, J., Brim, L., Ročkai, P.: Scalable shared memory LTL model checking. Int. J. Softw. Tools Technol. Transf. 12(2), 139–153 (2010)

    Article  Google Scholar 

  7. Benedikt, M., Lenhardt, R., Worrell, J.: LTL model checking of interval markov chains. In: TACAS’13, vol. 7795 of LNCS, pp. 32–46. Springer, Berlin (2013)

  8. Berger, E.D., McKinley, K.S., Blumofe, R.D., Wilson, P.R.: Hoard: A scalable memory allocator for multithreaded applications. J. ACM. 117–128 (2000)

  9. Berman, I.: Multicore programming in the face of metamorphosis: union-find as an example. Master’s thesis, Tel-Aviv University, School of Computer Science (2010)

  10. Bloemen, V.: On-the-fly parallel decomposition of strongly connected components. Master’s thesis, University of Twente (2015)

  11. Bloemen, V., Laarman, A., van de Pol, J.: Multi-core on-the-fly SCC decomposition. In: PPoPP’16. ACM (2016)

  12. Brim, L., Černá, I., Krcal, P., Pelánek, R.: Distributed LTL model checking based on negative cycle detection. In: FSTTCS’01, pp. 96–107. Springer, Berlin (2001)

  13. Brim, L., Černá, I., Moravec, P., Šimša, J.: Accepting predecessors are better than back edges in distributed LTL model-checking. In: FMCAD’04, vol. 3312 of LNCS, pp. 352–366. Springer, Berlin (2004)

  14. Černá, I., Pelánek, R.: Relating hierarchy of temporal properties to model checking. In: MFCS’03, vol. 2747 of LNCS, pp. 318–327. Springer, Berlin (2003)

  15. Černá, I., Pelánek, R.: Distributed explicit fair cycle detection (set based approach). In: SPIN’03, vol. 2648 of LNCS, pp. 49–73. Springer, Berlin (2003)

  16. Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-efficient algorithm for the verification of temporal properties. In: CAV’90, vol. 531 of LNCS, pp. 233–242. Springer, Berlin (1991)

  17. Couvreur, J.-M., Duret-Lutz, A., Poitrenaud, D.: On-the-fly emptiness checks for generalized Büchi automata. In: SPIN’05, vol. 3639 of LNCS, pp. 143–158. Springer, Berlin (2005)

  18. Dijkstra, E.W.: EWD 376: finding the maximum strong components in a directed graph. http://www.cs.utexas.edu/users/EWD/ewd03xx/EWD376.PDF (1973)

  19. Duret-Lutz, A., Poitrenaud, D.: SPOT: an extensible model checking library using transition-based generalized Büchi automata. In: MASCOTS’04, pp. 76–83 (2004). IEEE Computer Society Press

  20. Evangelista, S., Petrucci, L., Youcef, S.: Parallel nested depth-first searches for LTL model checking. In: ATVA’11, vol. 6996 of LNCS, pp. 381–396. Springer, Berlin (2011)

  21. Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In: ATVA’12, vol. 7561 of LNCS, pp. 269–283. Springer, Berlin (2012)

  22. Gaiser, A., Schwoon, S.: Comparison of algorithms for checking emptiness on Büchi automata. In: MEMICS’09, vol. 13 of OASICS. Schloss Dagstuhl, Leibniz-Zentrum fuer Informatik, Germany (2009)

  23. Holzmann, G.J., Joshi, R., Groce, A.: Swarm verification techniques. IEEE Trans. Softw. Eng. 37(6), 845–857 (2011)

    Article  Google Scholar 

  24. Kant, G., Laarman, A.W., Meijer, J.J.G., van de Pol, J.C., Blom, S.C.C., van Dijk, T.: Ltsmin: high-performance language-independent model checking. In: Tools and Algorithms for the Construction and Analysis of Systems, vol. 9035 of LNCS, pp. 692–707. Springer, London (2015)

  25. Kesten, Y., Pnueli, A., on Raviv, L.: Algorithmic verification of linear temporal logic specifications. In: ICALP’98, vol. 1443 of LNCS, pp. 1–16. Springer, Berlin (1998)

  26. Laarman, A., van de Pol, J.: Variations on multi-core nested depth-first search. In: PDMC’11, pp. 13–28 (2011)

  27. Laarman, A., Langerak, R., van de Pol, J., Weber, M., Wijs, A.: Multi-core nested depth-first search. In: ATVA’11, vol. 6996 of LNCS, pp. 321–335. Springer, Berlin (2011)

  28. Lowe, G.: Concurrent Depth-First Search Algorithms Based on Tarjan’s Algorithm, pp. 1–19. Springer, Berlin (2015)

  29. Michael, M.M., Scott, M.L.: Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In: PODC’96, pp. 267–275, ACM (1996)

  30. Nuutila, E., Soisalon-Soininen, E.: On finding the strongly connected components in a directed graph. Inf. Process. Lett. 49(1), 9–14 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  31. Patwary, M.M.A., Blair, J.R.S., Manne, F.: Experiments on union-find algorithms for the disjoint-set data structure. In: SEA’10, vol. 6049 of LNCS, pp. 411–423. Springer, Berlin (2010)

  32. Pelánek, R.: BEEM: benchmarks for explicit model checkers. In: SPIN’07, vol. 4595 of LNCS, pp. 263–267. Springer, Berlin (2007)

  33. Pelánek, R.: Properties of state spaces and their applications. Int. J. Softw. Tools Technol. Transf. 10, 443–454 (2008)

    Article  Google Scholar 

  34. Reif, J.H.: Depth-first search is inherently sequential. Inf. Process. Lett. 20, 229–234 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  35. Renault, E., Duret-Lutz, A., Kordon, F., Poitrenaud, D.: Three SCC-based emptiness checks for generalized Büchi automata. In: LPAR’13, vol. 8312 of LNCS, pp. 668–682. Springer, Berlin (2013)

  36. Renault, E., Duret-Lutz, A., Kordon, F., Poitrenaud, D.: Strength-based decomposition of the property Büchi automaton for faster model checking. In: TACAS’13, vol. 7795 of LNCS, pp. 580–593. Springer, Berlin (2013)

  37. Renault, E., Duret-Lutz, A., Kordon, F., Poitrenaud, D.: Parallel explicit model checking for generalized Büchi automata. In: TACAS’15, vol. 9035 of LNCS, pp. 613–627. Springer, Berlin (2015)

  38. Schwoon, S., Esparza, J.: A note on on-the-fly verification algorithms. In: TACAS’05, vol. 3440 of LNCS, Springer, Berlin (2005)

  39. Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(2), 146–160 (1972)

    Article  MathSciNet  MATH  Google Scholar 

  40. Tarjan, R.E.: Efficiency of a good but not linear set union algorithm. J. ACM 22(2), 215–225 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  41. Tauriainen, H.: Nested emptiness search for generalized Büchi automata. In: ACSD’04, pp. 165–174. IEEE Computer Society (2004)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to E. Renault.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Renault, E., Duret-Lutz, A., Kordon, F. et al. Variations on parallel explicit emptiness checks for generalized Büchi automata. Int J Softw Tools Technol Transfer 19, 653–673 (2017). https://doi.org/10.1007/s10009-016-0422-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-016-0422-5

Keywords

Navigation