Testing Spin’s LTL Formula Conversion into Büchi Automata with Randomly Generated Input

  • Heikki Tauriainen
  • Keijo Heljanko
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1885)


The use of model checking tools in the verification of reactive systems has become into widespread use. Because the model checkers are often used to verify critical systems, a lot of effort should be put on ensuring the reliability of their implementation. We describe techniques which can be used to test and improve the reliability of linear temporal logic (LTL) model checker implementations based on the automata-theoretic approach. More specifically, we will concentrate on the LTL-to-Büchi automata conversion algorithm implementations, and propose using a random testing approach to improve their robustness. As a case study, we apply the methodology to the testing of this part of the SPIN model checker. We also propose adding a simple counterexample validation algorithm to LTL model checkers to double check the counterexamples generated by the main LTL model checking algorithm.


Model Check Linear Temporal Logic Atomic Proposition Kripke Structure Reachability Graph 
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.
    Bhat, G., Cleaveland, R., Grumberg, O.: Eficient on-the-fly model checking for CTL*. In: Proceedings of 10th Annual IEEE Symposium on Logic in Computer Science (LICS 1995), pp. 388–397. IEEE Computer Society Press, Los Alamitos (1995)CrossRefGoogle Scholar
  2. 2.
    Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-efficient algorithms for the verification of temporal properties. Formal Methods in System Design 1, 275–288 (1992)CrossRefGoogle Scholar
  3. 3.
    Daniele, M., Giunchiglia, F., Vardi, M.Y.: Improved automata generation for linear temporal logic. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 249–260. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Proceedings of 15th Workshop Protocol Specification, Testing, and Verification, pp. 3–18 (1995)Google Scholar
  5. 5.
    Holzmann, G.: On-the-fly, LTL model checking with Spin. URL:
  6. 6.
    Holzmann, G.: The model checker Spin. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Clarke Jr., E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  8. 8.
    Kupferman, O., Vardi, M.Y.: Model checking of safety properties. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 172–183. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  9. 9.
    Lilius, J.: ÅSA: The Åbo System Analyser (September 1999), URL:
  10. 10.
    Rönkkö, M.: A distributed object oriented implementation of an algorithm converting a LTL formula to a generalised Buchi automaton (1998), URL:
  11. 11.
    Safra, S.: Complexity of automata on infinite objects. PhD thesis, The Weizmann Institute of Science (1989)Google Scholar
  12. 12.
    Tarjan, R.: Depth-first search and linear graph algorithms. SIAM Journal on Computing 1(2), 146–160 (1972)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Tauriainen, H.: A randomized testbench for algorithms translating linear temporal logic formulae into Büchi automata. In: Proceedings of the Workshop Concurrency, Specification and Programming 1999 (CS&P 1999), September 1999, pp. 251–262. Warsaw University (1999)Google Scholar
  14. 14.
    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–265. Springer, Heidelberg (1996)Google Scholar
  15. 15.
    Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of the 1st IEEE Symposium on Logic in Computer Science (LICS 1986), pp. 332–344. IEEE Computer Society Press, Los Alamitos (1986)Google Scholar
  16. 16.
    Varpaaniemi, K., Heljanko, K., Lilius, J.: PROD 3.2 - An advanced tool for efficient reachability analysis. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 472–475. Springer, Heidelberg (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Heikki Tauriainen
    • 1
  • Keijo Heljanko
    • 1
  1. 1.Laboratory for Theoretical Computer ScienceHelsinki University of TechnologyFinland

Personalised recommendations