Advertisement

Generic Emptiness Check for Fun and Profit

  • Christel Baier
  • František Blahoudek
  • Alexandre Duret-LutzEmail author
  • Joachim Klein
  • David Müller
  • Jan Strejček
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11781)

Abstract

We present a new algorithm for checking the emptiness of \(\omega \)-automata with an Emerson-Lei acceptance condition (i.e., a positive Boolean formula over sets of states or transitions that must be visited infinitely or finitely often). The algorithm can also solve the model checking problem of probabilistic positiveness of MDP under a property given as a deterministic Emerson-Lei automaton. Although both these problems are known to be NP-complete and our algorithm is exponential in general, it runs in polynomial time for simpler acceptance conditions like generalized Rabin, Streett, or parity. In fact, the algorithm provides a unifying view on emptiness checks for these simpler automata classes. We have implemented the algorithm in Spot and PRISM and our experiments show improved performance over previous solutions.

Notes

Acknowledgement

This research was partially supported by the DFG through the DFG-project BA-1679/11-1, the DFG-project BA-1679/12-1, the Collaborative Research Centers CRC 912 (HAEC) and CRC 248 (DFG grant 389792660 as part of TRR 248), the Cluster of Excellence EXC 2050/1 (CeTI, project ID 390696704, as part of Germany’s Excellence Strategy), the Research Training Groups QuantLA (GRK 1763), by F.R.S.-FNRS through the grant F.4520.18 (ManySynth), and by the Czech Science Foundation through the grant GA19-24397S.

References

  1. 1.
    Babiak, T., Blahoudek, F., Křetínský, M., Strejček, J.: Effective translation of LTL to deterministic Rabin automata: beyond the (F,G)-fragment. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 24–39. Springer, Cham (2013).  https://doi.org/10.1007/978-3-319-02444-8_4CrossRefGoogle Scholar
  2. 2.
    Babiak, T., et al.: The Hanoi Omega-Automata Format. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 479–486. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-21690-4_31. http://adl.github.io/hoaf/CrossRefGoogle Scholar
  3. 3.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  4. 4.
    Bloemen, V., Duret-Lutz, A., van de Pol, J.: Model checking with generalized Rabin and Fin-less automata. Int. J. Softw. Tools Technol. Transf. 21(3), 307–324 (2019)CrossRefGoogle Scholar
  5. 5.
    Boker, U.: Why these automata types? In: LPAR 2018 of EPiC Series in Computing, vol. 57, pp. 143–163. EasyChair (2018)Google Scholar
  6. 6.
    Chatterjee, K., Henzinger, M.: Faster and dynamic algorithms for maximal end-component decomposition and related graph problems in probabilistic verification. In: SODA 2011, pp. 1318–1336. SIAM (2011)Google Scholar
  7. 7.
    Chatterjee, K., Henzinger, M.: Efficient and dynamic algorithms for alternating Büchi games and maximal end-component decomposition. J. ACM 61(3), 15 (2014)CrossRefGoogle Scholar
  8. 8.
    Chatterjee, K., Gaiser, A., Křetínský, J.: Automata with generalized Rabin pairs for probabilistic model checking and LTL synthesis. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 559–575. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39799-8_37CrossRefGoogle Scholar
  9. 9.
    Chatterjee, K., Henzinger, M., Loitzenbauer, V.: Improved algorithms for parity and Streett objectives. Log. Methods Comput. Sci. 13(3) (2017)Google Scholar
  10. 10.
    Chatterjee, K., Henzinger, M., Loitzenbauer, V., Oraee, S., Toman, V.: Symbolic algorithms for graphs and Markov decision processes with fairness objectives. In: Chockler, H., Weissenbacher, G. (eds.) CAV 2018. LNCS, vol. 10982, pp. 178–197. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-96142-2_13CrossRefGoogle Scholar
  11. 11.
    Couvreur, J.-M.: On-the-fly verification of linear temporal logic. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 253–271. Springer, Heidelberg (1999).  https://doi.org/10.1007/3-540-48119-2_16CrossRefGoogle Scholar
  12. 12.
    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. 169–184. Springer, Heidelberg (2005).  https://doi.org/10.1007/11537328_15CrossRefGoogle Scholar
  13. 13.
    Dax, C., Eisinger, J., Klaedtke, F.: Mechanizing the powerset construction for restricted classes of \(\omega \)-automata. In: Namjoshi, K.S., Yoneda, T., Higashino, T., Okamura, Y. (eds.) ATVA 2007. LNCS, vol. 4762, pp. 223–236. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-75596-8_17CrossRefzbMATHGoogle Scholar
  14. 14.
    Dijkstra, E.W.: Finding the maximal strong components in a directed graph. In: A Discipline of Programming, chapter 25, pp. 192–200. Prentice-Hall (1976)Google Scholar
  15. 15.
    Duret-Lutz, A.: Manipulating LTL formulas using spot 1.0. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 442–445. Springer, Cham (2013).  https://doi.org/10.1007/978-3-319-02444-8_31CrossRefGoogle Scholar
  16. 16.
    Duret-Lutz, A.: Contributions to LTL and \(\omega \)-Automata for Model Checking. Habilitation thesis, Université Pierre et Marie Curie (Paris 6), (February 2017)Google Scholar
  17. 17.
    Duret-Lutz, A., Poitrenaud, D., Couvreur, J.-M.: On-the-fly emptiness check of transition-based Streett automata. In: Liu, Z., Ravn, A.P. (eds.) ATVA 2009. LNCS, vol. 5799, pp. 213–227. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-04761-9_17CrossRefGoogle Scholar
  18. 18.
    Duret-Lutz, A., Kordon, F., Poitrenaud, D., Renault, E.: Heuristics for checking liveness properties with partial order reductions. In: Artho, C., Legay, A., Peled, D. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 340–356. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46520-3_22CrossRefGoogle Scholar
  19. 19.
    Emerson, E.A., Lei, C.-L.: Modalities for model checking: branching time logic strikes back. Sci. Comput. Prog. 8(3), 275–306 (1987)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Esparza, J., Křetínský, J., Raskin, J., Sickert, S.: From LTL and limit-deterministic Büchi automata to deterministic parity automata. In: TACAS’17, LNCS 10205, pp. 426–442 (2017)CrossRefGoogle Scholar
  21. 21.
    J. Esparza, J. Křetínský, and S. Sickert. One theorem to rule them all: A unified translation of LTL into \(\omega \)-automata. In LICS’18, pp. 384–393. ACM, 2018Google Scholar
  22. 22.
    Geldenhuys, J., Valmari, A.: Tarjan’s algorithm makes on-the-fly LTL verification more efficient. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 205–219. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-24730-2_18CrossRefzbMATHGoogle Scholar
  23. 23.
    Hahn, E.M., Li, G., Schewe, S., Turrini, A., Zhang, L.: Lazy probabilistic model checking without determinisation. In CONCUR 2015, vol. 42 of LIPIcs, pp. 354–367. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2015)Google Scholar
  24. 24.
    Klein, J., Baier, C.: Experiments with deterministic \(\omega \)-automata for formulas of linear temporal logic. Theor. Comput. Sci. 363(2), 182–195 (2006)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Klein, J., Baier, C.: On-the-fly stuttering in the construction of deterministic \(\omega \)-Automata. In: Holub, J., Ždárek, J. (eds.) CIAA 2007. LNCS, vol. 4783, pp. 51–61. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-76336-9_7CrossRefzbMATHGoogle Scholar
  26. 26.
    Komárková, Z., Křetínský, J.: Rabinizer 3: Safraless translation of LTL to small deterministic automata. In: Cassez, F., Raskin, J.-F. (eds.) ATVA 2014. LNCS, vol. 8837, pp. 235–241. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11936-6_17CrossRefGoogle Scholar
  27. 27.
    Křetínský, J., Esparza, J.: Deterministic automata for the (F,G)-fragment of LTL. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 7–22. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-31424-7_7CrossRefGoogle Scholar
  28. 28.
    Krishnan, S.C., Puri, A., Brayton, R.K.: Deterministic \(\omega \) automata vis-a-vis deterministic Buchi automata. In: Du, D.-Z., Zhang, X.-S. (eds.) ISAAC 1994. LNCS, vol. 834, pp. 378–386. Springer, Heidelberg (1994).  https://doi.org/10.1007/3-540-58325-4_202CrossRefGoogle Scholar
  29. 29.
    Křetínský, J., Garza, R.L.: Rabinizer 2: small deterministic automata for LTL\(\setminus \)GU. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 446–450. Springer, Cham (2013).  https://doi.org/10.1007/978-3-319-02444-8_32CrossRefGoogle Scholar
  30. 30.
    Křetínský, J., Meggendorfer, T., Sickert, S., Ziegler, C.: Rabinizer 4: from LTL to your favourite deterministic automaton. In: Chockler, H., Weissenbacher, G. (eds.) CAV 2018. LNCS, vol. 10981, pp. 567–577. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-96145-3_30CrossRefGoogle Scholar
  31. 31.
    Kwiatkowska, M.Z., Norman, G., Parker, D.: The PRISM benchmark suite. In: QEST 2012, pp. 203–204. IEEE Computer Society (2012)Google Scholar
  32. 32.
    Liu, Y., Sun, J., Dong, J.S.: Scalable multi-core model checking fairness enhanced systems. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 426–445. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-10373-5_22CrossRefGoogle Scholar
  33. 33.
    Michaud, T., Duret-Lutz, A.: Practical stutter-invariance checks for \(\omega \)-regular languages. In: Fischer, B., Geldenhuys, J. (eds.) SPIN 2015. LNCS, vol. 9232, pp. 84–101. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-23404-5_7CrossRefGoogle Scholar
  34. 34.
    Minato, S.: Fast generation of irredundant sum-of-products forms from binary decision diagrams. In: SASIMI 1992, pp. 64–73 (1992)Google Scholar
  35. 35.
    Müller, D., Sickert, S.: LTL to deterministic Emerson-Lei automata. In: GandALF 2017, vol. 256 of EPTCS, pp. 180–194 (2017)MathSciNetCrossRefGoogle Scholar
  36. 36.
    Pnueli, A., Zuck, L.D.: Verification of multiprocess probabilistic protocols. Distrib. Comput. 1(1), 53–72 (1986)CrossRefGoogle Scholar
  37. 37.
    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 2013. LNCS, vol. 8312, pp. 668–682. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-45221-5_44CrossRefzbMATHGoogle Scholar
  38. 38.
    Vardi, M.Y.: Automatic verification of probabilistic concurrent finite-state programs. In: FOCS 1985, pp. 327–338. IEEE Computer Society (1985)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Christel Baier
    • 1
  • František Blahoudek
    • 2
  • Alexandre Duret-Lutz
    • 3
    Email author
  • Joachim Klein
    • 1
  • David Müller
    • 1
  • Jan Strejček
    • 4
  1. 1.Technische Universität DresdenDresdenGermany
  2. 2.University of MonsMonsBelgium
  3. 3.LRDE, EPITALe Kremlin-BicêtreFrance
  4. 4.Masaryk UniversityBrnoCzech Republic

Personalised recommendations