Skip to main content

On the Construction of Fine Automata for Safety Properties

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4218))

Abstract

Of special interest in formal verification are safety properties, which assert that the system always stays within some allowed region. Each safety property ψ can be associated with a set of bad prefixes: a set of finite computations such that an infinite computation violates ψ iff it has a prefix in the set. By translating a safety property to an automaton for its set of bad prefixes, verification can be reduced to reasoning about finite words: a system is correct if none of its computations has a bad prefix. Checking the latter circumvents the need to reason about cycles and simplifies significantly methods like symbolic fixed-point based verification, bounded model checking, and more.

A drawback of the translation lies in the size of the automata: while the translation of a safety LTL formula ψ to a nondeterministic Büchi automaton is exponential, its translation to a tight bad-prefix automaton — one that accepts all the bad prefixes of ψ, is doubly exponential. Kupferman and Vardi showed that for the purpose of verification, one can replace the tight automaton by a fine automaton — one that accepts at least one bad prefix of each infinite computation that violates ψ. They also showed that for many safety LTL formulas, a fine automaton has the same structure as the Büchi automaton for the formula. The problem of constructing fine automata for general safety LTL formulas was left open. In this paper we solve this problem and show that while a fine automaton cannot, in general, have the same structure as the Büchi automaton for the formula, the size of a fine automaton is still only exponential in the length of the formula.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armoni, R., Korchemny, D., Tiemeyer, A., Vardi, M.Y., Zbar, Y.: Deterministic dynamic monitors for linear-Time assertions. In: Havelund, K., Núñez, M., Roşu, G., Wolff, B. (eds.) FATES 2006 and RV 2006. LNCS, vol. 4262, Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  2. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. I& C 98(2), 142–170 (1992)

    MATH  MathSciNet  Google Scholar 

  3. Boyer, R.S., Moore, J.S.: Proof-checking, theorem-proving and program verification. Technical Report 35, Institute for Computing Science and Computer Applications, University of Texas at Austin (January 1983)

    Google Scholar 

  4. Clarke, E.M., Bierea, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Formal Methods in System Design 19(1), 7–34 (2001)

    Article  MATH  Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. Giannakopoulou, D., Havelund, K.: Automata-based verification of temporal properties on running programs. In: Proc. 16th International Conference on Automated Software Engineering, pp. 412–416. IEEE Computer Society Press, Los Alamitos (2001)

    Chapter  Google Scholar 

  7. Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Dembiski, P., Sredniawa, M. (eds.) Protocol Specification, Testing, and Verification, pp. 3–18. Chapman and Hall, Boca Raton (1995)

    Google Scholar 

  8. Godefroid, P., Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 332–342. Springer, Heidelberg (1992)

    Google Scholar 

  9. Holzmann, G.J.: The Spin Model Checker: primer and reference manual. Addison-Wesley, Reading (2004)

    Google Scholar 

  10. Hardin, R.H., Kurshan, R.P., Shukla, S.K., Vardi, M.Y.: A new heuristic for bad cycle detection using BDDs. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 268–278. Springer, Heidelberg (1997)

    Google Scholar 

  11. Iwashita, H., Nakata, T.: Forward model checking techniques oriented to buggy designs. In: Proc. ICCAD, pp. 400–404 (1997)

    Google Scholar 

  12. Kupferman, O., Morgenstern, G., Murano, A.: Typeness for ω-regular automata. In: Wang, F. (ed.) ATVA 2004. LNCS, vol. 3299, pp. 324–338. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Krishnan, S.C., Puri, A., Brayton, R.K.: Deterministic ω-automata vis-a-vis deterministic Büchi automata. In: Du, D.-Z., Zhang, X.-S. (eds.) ISAAC 1994. LNCS, vol. 834, pp. 378–386. Springer, Heidelberg (1994)

    Google Scholar 

  14. Kupferman, O., Safra, S., Vardi, M.Y.: Relating word and tree automata. In: Proc. 11th LICS, DIMACS, pp. 322–333 (June 1996)

    Google Scholar 

  15. Kupferman, O., Vardi, M.Y.: Model checking of safety properties. Formal methods in System Design 19(3), 291–314 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  16. Kupferman, O., Vardi, M.Y.: On bounded specifications. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 24–38. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Kupferman, O., Vardi, M.Y.: From linear time to branching time. ACM Trans. on Computational Logic 6(2), 273–294 (2005)

    Article  MathSciNet  Google Scholar 

  18. Kupferman, O., Vardi, M.Y.: Safraless decision procedures. In: Proc. 46th FOCS, Pittsburgh, pp. 531–540 (October 2005)

    Google Scholar 

  19. Landweber, L.H.: Decision problems for ω–automata. Mathematical Systems Theory 3, 376–384 (1969)

    Article  MATH  MathSciNet  Google Scholar 

  20. Latvala, T.: Efficient model checking of safety properties. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 74–88. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  21. Manna, Z., Anuchitanukul, A., Bjorner, N., Browne, A., Chang, E., Colon, M., De Alfaro, L., Devarajan, H., Sipma, H., Uribe, T.: STeP: The Stanford Temporal Prover. TR STAN-CS-TR-94-1518, Dept. of Computer Science, Stanford University (1994)

    Google Scholar 

  22. McMillan, K.L.: Using unfolding to avoid the state explosion problem in the verification of asynchronous circuits. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 164–174. Springer, Heidelberg (1993)

    Google Scholar 

  23. Meyer, A.R., Fischer, M.J.: Economy of description by automata, grammars, and formal systems. In: Proc. 12th IEEE Symp. on Switching and Automata Theory, pp. 188–191 (1971)

    Google Scholar 

  24. Miyano, S., Hayashi, T.: Alternating finite automata on ω-words. Theoretical Computer Science 32, 321–330 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  25. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, Berlin (1992)

    Google Scholar 

  26. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Safety. Springer, New York (1995)

    Google Scholar 

  27. Melzer, S., Roemer, S.: Deadlock checking using net unfoldings. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 364–375. Springer, Heidelberg (1997)

    Google Scholar 

  28. Owre, S., Shankar, R.E., Rushby, J.M.: User guide for the PVS specification and verification system. CSL (1995)

    Google Scholar 

  29. Pnueli, A.: The temporal semantics of concurrent programs. Theoretical Computer Science 13, 45–60 (1981)

    Article  MATH  MathSciNet  Google Scholar 

  30. Sistla, A.P., Clarke, E.M.: The complexity of propositional linear temporal logic. Journal ACM 32, 733–749 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  31. Sistla, A.P.: Safety, liveness and fairness in temporal logic. Formal Aspects of Computing 6, 495–511 (1994)

    Article  MATH  Google Scholar 

  32. Sakoda, W., Sipser, M.: Non-determinism and the size of two-way automata. In: Proc. 10th STOC, pp. 275–286 (1978)

    Google Scholar 

  33. Valmari, A.: On-the-fly verification with stubborn sets. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, Springer, Heidelberg (1993)

    Google Scholar 

  34. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. 1st LICS, Cambridge, pp. 332–344 (June 1986)

    Google Scholar 

  35. Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Information and Computation 115(1), 1–37 (1994)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kupferman, O., Lampert, R. (2006). On the Construction of Fine Automata for Safety Properties. In: Graf, S., Zhang, W. (eds) Automated Technology for Verification and Analysis. ATVA 2006. Lecture Notes in Computer Science, vol 4218. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11901914_11

Download citation

  • DOI: https://doi.org/10.1007/11901914_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-47237-7

  • Online ISBN: 978-3-540-47238-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics