Optimizing Büchi Automata

  • Kousha Etessami
  • Gerard J. Holzmann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1877)


We describe a family of optimizations implemented in a translation from a linear temporal logic to Büchi automata. Such optimized automata can enhance the efficiency of model checking, as practiced in tools such as Spin. Some of our optimizations are applied during preprocessing of temporal formulas, while other key optimizations are applied directly to the resulting Büchi automata independent of how they arose. Among these latter optimizations we apply a variant of fair simulation reduction based on color refinement. We have implemented our optimizations in a translation of an extension to LTL described in [Ete99]. Inspired by this work, a subset of the optimizations outlined here has been added to a recent version of Spin. Both implementations begin with an underlying algorithm of [GPVW95]. We describe the results of tests we have conducted, both to see how the optimizations improve the sizes of resulting automata, as well as to see how the smaller sizes for the automata affect the running time of Spin’s explicit state model checking algorithm. Our translation is available via a web-server which includes a GUI that depicts the resulting automata:


Model Check Temporal Logic Linear Temporal Logic Atomic Proposition Linear Temporal Logic Formula 
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. DGV99.
    M. Daniele, F. Giunchiglia, and M. Y. Vardi. Improved automata generation for linear temporal logic. In Proc. of 11th Int. Conf. on Computer Aided Verification (CAV99), number 1633 in LNCS, pages 249–260, 1999.CrossRefGoogle Scholar
  2. DHWT91.
    D. L. Dill, A. J. Hu, and H. Wong-Toi. Checking for language inclusion using simulation relations. In Proceedings of CAV’91, pages 329–341, 1991.Google Scholar
  3. Eme90.
    E. A. Emerson. Temporal and modal logics. In J. van Leeuwen, editor, Handbook of Theo. Comp. Sci., volume B, pages 995–1072. Elsevier, 1990.Google Scholar
  4. End72.
    H. B. Enderton. A Mathematical Introduction to Logic. Academic Press, New York, 1972.zbMATHGoogle Scholar
  5. Ete99.
    K. Etessami. Stutter-invariant languages, ω-automata, and temporal logic. In Proceedings of the 11th International Conference on Computer Aided Verification, pages 236–248, 1999.Google Scholar
  6. GPVW95.
    R. Gerth, D. Peled, M. Y. Vardi, and P. Wolper. Simple on-the-fly automatic verification of linear temporal logic. In Protocol Specification Testing and Verification, pages 3–18, 1995.Google Scholar
  7. HHK95.
    M. Henzinger, T. Henzinger, and P. Kopke. Computing simulations on finite and infinite graphs. In Proc. of 36th IEEE Symp. on Foundations of Comp. Sci. (FOCS’95), pages 453–462, 1995.Google Scholar
  8. HKR97.
    T. Henzinger, O. Kupferman, and S. Rajamani. Fair simulation. In Proc. of 9th Int. Conf. on Concurrency Theory (CONCUR’97), number 1243 in LNCS, pages 273–287, 1997.Google Scholar
  9. Hol97.
    G. J. Holzmann. The model checker spin. IEEE Transactions on Software Engineering, 23(5):279–295, 1997.CrossRefMathSciNetGoogle Scholar
  10. HP94.
    G. J. Holzmann and D. Peled. An improvement in formal verification. In 7th Int. Conf. on Formal Description Techniques, pages 177–194, 1994.Google Scholar
  11. HU79.
    J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Formal Languages and Computation. Addison-Wesley, 1979.Google Scholar
  12. Koz77.
    D. Kozen. Lower bounds for natural proof systems. In 18th IEEE Symposium on Foundations of Computer Science, pages 254–266, 1977.Google Scholar
  13. KS90.
    P. C. Kanellakis and S. A. Smolka. CCS expressions, finite state processes, and three problems of equivalence. Information and Computation, 86(1):43–68, 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  14. MP92.
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems, volume 1. Springer-Verlag, Berlin/New York, 1992.Google Scholar
  15. SB00.
    F. Somenzi and R. Bloem. Efficient büchi automata from ltl formulae. In Proceedings of 12th Int. Conf. on Computer Aided Verification, 2000.Google Scholar
  16. SM73.
    L. Stockmeyer and A. R. Meyer. Word problems requiring exponential time: preliminary report. In Proceedings of 5th ACM Symposium on Theory of Computing, pages 1–9, 1973.Google Scholar
  17. SPI99.
    SPIN workshop on theo. aspects of model checking, July 1999. Trento, Italy.Google Scholar
  18. Tau99.
    H. Tauriainen. A randomized testbench for algorithms translating linear temporal logic formulae into büchi automata. In Workshop Concurrency, Specifications, and Programming, pages 251–262, Warsaw, Sept. 1999.Google Scholar
  19. Tho90.
    W. Thomas. Handbook of Theoretical Computer Science, volume B, chapter Automata on Infinite Objects, pages 133–191. MIT Press, 1990.Google Scholar
  20. VW86.
    M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Dexter Kozen, editor, First Annual IEEE Symposium on Logic in Computer Science (LICS), pages 322–331, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Kousha Etessami
    • 1
  • Gerard J. Holzmann
    • 1
  1. 1.Bell LabsMurray Hill

Personalised recommendations