On-the-fly Emptiness Check of Transition-Based Streett Automata

  • Alexandre Duret-Lutz
  • Denis Poitrenaud
  • Jean-Michel Couvreur
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5799)


In the automata theoretic approach to model checking, checking a state-space S against a linear-time property ϕ can be done in O(|S|×2O(|ϕ|)) time. When model checking under n strong fairness hypotheses expressed as a Generalized Büchi automaton, this complexity becomes O(|S|×2O(|ϕ| + n)).

Here we describe an algorithm to check the emptiness of Streett automata, which allows model checking under n strong fairness hypotheses in O(|S|×2O(|ϕ|)×n). We focus on transition-based Streett automata, because it allows us to express strong fairness hypotheses by injecting Streett acceptance conditions into the state-space without any blowup.


Model Check Temporal Logic Linear Temporal Logic Atomic Proposition Acceptance Condition 
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.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  2. 2.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. The MIT Press, Cambridge (2001)MATHGoogle Scholar
  3. 3.
    Couvreur, J.-M.: On-the-fly verification of temporal logic. In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 253–271. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    Dijkstra, E.W.: EWD 376: Finding the maximum strong components in a directed graph (May 1973),
  6. 6.
    Dijkstra, E.W.: Finding the maximal strong components in a directed graph. In: A Discipline of Programming, ch. 25, pp. 192–200. Prentice-Hall, Englewood Cliffs (1976)Google Scholar
  7. 7.
    Duret-Lutz, A.: Contributions à l’approche automate pour la vérification de propriétés de systèmes concurrents. PhD thesis, Université Pierre et Marie Curie (Paris 6) (July 2007)Google Scholar
  8. 8.
    Duret-Lutz, A., Poitrenaud, D.: Spot: an extensible model checking library using transition-based generalized Büchi automata. In: Proc. MASCOTS 2004, Volendam, The Netherlands, October 2004, pp. 76–83. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  9. 9.
    Emerson, E.A., Lei, C.-L.: Modalities for model checking: Branching time logic strikes back. Science of Computer Programming 8(3), 275–306 (1987)CrossRefMathSciNetMATHGoogle Scholar
  10. 10.
    Francez, N.: Fairness. Springer, Heidelberg (1986)MATHGoogle Scholar
  11. 11.
    Gastin, P., Oddoux, D.: Fast LTL to Büchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001)Google Scholar
  12. 12.
    Giannakopoulou, D., Lerda, F.: From states to transitions: Improving translation of LTL formulæ to Büchi automata. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 308–326. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Godefroid, P., Holzmann, G., Pirottin, D.: State-space caching revisited. Formal Methods in System Design 7(3), 227–241 (1995)CrossRefGoogle Scholar
  14. 14.
    Kesten, Y., Pnueli, A., Vardi, M.Y.: Verification by augmented abstraction: The automata-theoretic view. Journal of Computer and System Sciences 62(4), 668–690 (2001)CrossRefMathSciNetMATHGoogle Scholar
  15. 15.
    Latvala, T., Heljanko, K.: Coping with strong fairness. Fundamenta Informaticae 43(1–4), 1–19 (2000)MathSciNetGoogle Scholar
  16. 16.
    Löding, C.: Methods for the transformation of ω-automata: Complexity and connection to second order logic. Diploma thesis, Institue of Computer Science and Applied Mathematics (1998)Google Scholar
  17. 17.
    Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proc. the 12th ACM Symposium on Principles of Programming Languages (POPL 1985), pp. 97–107. ACM, New York (1985)CrossRefGoogle Scholar
  18. 18.
    Merz, S.: Model checking: A tutorial overview. In: Cassez, F., Jard, C., Rozoy, B., Dermot, M. (eds.) MOVEP 2000. LNCS, vol. 2067, pp. 3–38. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Michel, M.: Algèbre de machines et logique temporelle. In: Fontet, M., Mehlhorn, K. (eds.) STACS 1984. LNCS, vol. 166, pp. 287–298. Springer, Heidelberg (1984)Google Scholar
  20. 20.
    Rauch Henzinger, M., Telle, J.A.: Faster algorithms for the nonemptiness of Streett automata and for communication protocol pruning. In: Karlsson, R., Lingas, A. (eds.) SWAT 1996. LNCS, vol. 1097, pp. 16–27. Springer, Heidelberg (1996)Google Scholar
  21. 21.
    Safra, S.: Complexity of Automata on Infinite Objects. PhD thesis, The Weizmann Institute of Science, Rehovot, Israel (March 1989)Google Scholar
  22. 22.
    Safra, S.: Exponential determinization for ω-automata with strong-fairness acceptance condition. In: Proc. STOC 1992. ACM, New York (1992)Google Scholar
  23. 23.
    Safra, S., Vardi, M.Y.: On ω-automata and temporal logic (preliminary report). In: Proc. STOC 1989, pp. 127–137. ACM, New York (1989)Google Scholar
  24. 24.
    Sebastiani, R., Tonetta, S., Vardi, M.Y.: Symbolic systems, explicit properties: on hybrid approches for LTL symbolic model checking. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 350–363. Springer, Heidelberg (2005)Google Scholar
  25. 25.
    Tarjan, R.: Depth-first search and linear graph algorithms. SIAM Journal on Computing 1(2), 146–160 (1972)CrossRefMathSciNetMATHGoogle Scholar
  26. 26.
    Tauriainen, H.: Automata and Linear Temporal Logic: Translation with Transition-based Acceptance. PhD thesis, Helsinki University of Technology, Espoo, Finland (September 2006)Google Scholar
  27. 27.
    Vardi, M.Y.: The Büchi complementation saga. In: Thomas, W., Weil, P. (eds.) STACS 2007. LNCS, vol. 4393, pp. 12–22. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  28. 28.
    Vardi, M.Y.: Automata-theoretic model checking revisited (Invited paper.). In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 137–150. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  29. 29.
    Vardi, M.Y.: An automata-theoretic approach to linear temporal logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 238–266. Springer, Heidelberg (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Alexandre Duret-Lutz
    • 1
  • Denis Poitrenaud
    • 2
  • Jean-Michel Couvreur
    • 3
  1. 1.EPITA Research and Development Laboratory (LRDE) 
  2. 2.Laboratoire d’Informatique de Paris 6 (LIP6) 
  3. 3.Laboratoire d’Informatique Fondamentale d’Orléans (LIFO) 

Personalised recommendations