Skip to main content

Sometimes and not never re-revisited: on branching versus linear time

  • Conference paper
  • First Online:
CONCUR'98 Concurrency Theory (CONCUR 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1466))

Included in the following conference series:

Abstract

The difference in the complexity of branching and linear model checking has been viewed as an argument in favor of the branching paradigm. In particular, the computational advantage of CTL model checking over LTL model checking makes CTL a popular choice, leading to efficient model-checking tools for this logic. Can we use these tools in order to verify linear properties? In this survey paper we describe two approaches that relate branching and linear model checking. In the first approach we associate with each LTL formula ψ a CTL formula ψ A that is obtained from ψ by preceding each temporal operator by the universal path quantifier A. In particular, we characterize when ψ is logically equivalent to ψ A . Our second approach is motivated by the fact that the alternation-free Μ-calculus, which is more expressive than CTL, has the same computational advantage as CTL when it comes to model checking. We characterize LTL formulas that can be expressed in the alternation-free Μ-calculus; these arc precisely the formulas that are equivalent to deterministic Büchi automata. We then claim that these results are possibly of theoretical, rather than of practical interest, since in practice, LTL model checkers seem to perform rather nicely on formulas that are equivalent to CTL or alternation-free Μ-calculus formulas.

Supported in part by NSF grants CCR-9628400 and CCR-9700061, and by a grant from the Intel Corporation.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Ben-Ari, A. Pnueli, and Z. Manna. The temporal logic of branching time. Acta Informatica, 20:207–226, 1983.

    Article  MATH  MathSciNet  Google Scholar 

  2. O. Bernholtz, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. In D. L. Dill, editor, Computer Aided Verification, Proc. 6th Int. Conference, volume 818 of Lecture Notes in Computer Science, pages 142–155, Stanford, June 1994. Springer-Verlag, Berlin.

    Google Scholar 

  3. R.K. Brayton, G.D. Hachtel, A. Sangiovanni-Vincentelli, F. Somenzi, A. Aziz, S.-T. Cheng, S. Edwards, S. Khatri, T. Kukimoto, A. Pardo, S. Qadeer, R.K. Ranjan, S. Sarwary, T.R. Shiple, G. Swamy, and T. Villa. VIS: a system for verification and synthesis. In Computer Aided Verification, Proc. 8th Int. Conference, volume 1102 of Lecture Notes in Computer Science, pages 428–432. Springer-Verlag, 1996.

    Google Scholar 

  4. E. M. Clarke, I. A. Draghicescu, and R. P. Kurshan. A unified approach for showing language containment and equivalence between various types of Ω-automata. Information Processing Letters 46, pages 301–308, (1993).

    Article  MATH  MathSciNet  Google Scholar 

  5. E.M. Clarke and I.A. Draghicescu. Expressibility results for linear-time and branching-time logics. In Proc. Workshop on Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science, pages 428–437. Springer-Verlag, 1988.

    Google Scholar 

  6. E.M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, volume 131 of Lecture Notes in Computer Science, pages 52–71. Springer-Verlag, 1981.

    Google Scholar 

  7. E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, January 1986.

    Article  MATH  Google Scholar 

  8. E.M. Clarke, O. Grumberg, and D. Long. Verification tools for finite-state concurrent systems. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Decade of Concurrency — Reflections and Perspectives (Proceedings of REX School), volume 803 of Lecture Notes in Computer Science, pages 124–175. Springer-Verlag, 1993.

    Google Scholar 

  9. R. Cleaveland. A linear-time model-checking algorithm for the alternation-free modal Μ-calculus. Formal Methods in System Design, 2:121–147, 1993.

    Article  MATH  Google Scholar 

  10. E.A. Emerson. Temporal and modal logic. Handbook of Theoretical Computer Science, pages 997–1072, 1990.

    Google Scholar 

  11. E.A. Emerson and E.M. Clarke. Characterizing correctness properties of parallel programs using fixpoints. In Proc. 7th Int'l Colloq. on Automata, Languages and Programming, pages 169–181, 1980.

    Google Scholar 

  12. E.A. Emerson and J.Y. Halpern. Sometimes and not never revisited: On branching versus linear time. Journal of the ACM, 33(1):151–178, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  13. E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proc. 29th IEEE Symposium on Foundations of Computer Science, pages 368–377, White Plains, October 1988.

    Google Scholar 

  14. E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. In Proc. 20th ACM Symposium on Principles of Programming Languages, pages 84–96, New Orleans, January 1985.

    Google Scholar 

  15. E.A. Emerson and C.-L. Lei. Efficient model checking in fragments of the proposoitional Mucalculus. In Proc. 1st Symposium on Logic in Computer Science, pages 267–278, Cambridge, June 1986.

    Google Scholar 

  16. K. Fisler and M.Y. Vardi. Bisimulation minimization in an automata-theoretic verification framework. Unpublished manuscript, 1998.

    Google Scholar 

  17. R. Gerth, D. Peled, M.Y. Vardi, and P. Wolper. A simple on-the-fly automatic verification for linear temporal logic. In Protocol Specification, Testing, and Verification, pages 3–18. Chapman & Hall, August 1995.

    Google Scholar 

  18. O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. on Programming Languages and Systems, 16(3):843–871, 1994.

    Article  Google Scholar 

  19. Th. Hafer and W. Thomas. Computation tree logic CTL⋆ and path quantifiers in the monadic theory of the binary tree. In Proc. 14th International Coll. on Automata, Languages, and Programming, volume 267 of Lecture Notes in Computer Science, pages 269–279. Springer-Verlag, 1987.

    Google Scholar 

  20. R.H. Hardin, Z. Har'el, and R.P. Kurshan. COSPAN. In Computer Aided Verification, Proc. 8th Int. Conference, volume 1102 of Lecture Notes in Computer Science, pages 423–427. Springer-Verlag, 1996.

    Google Scholar 

  21. R.H. Hardin, R.P. Kurshan, S.K. Shukla, and M.Y. Vardi. A new heuristic for bad cycle detection using BDDs. In Computer Aided Verification, Proc. 9th Int. Conference, volume 1254 of Lecture Notes in Computer Science, pages 268–278. Springer-Verlag, 1997.

    Google Scholar 

  22. G.J. Holzmann. The model checker SPIN. IEEE Trans. on Software Engineering, 23(5):279–295, May 1997. Special issue on Formal Methods in Software Practice.

    Article  MathSciNet  Google Scholar 

  23. D. Kozen. Results on the propositional Μ-calculus. Theoretical Computer Science, 27:333–354, 1983.

    Article  MATH  MathSciNet  Google Scholar 

  24. S.C. Krishnan, A. Puri, and R.K. Brayton. Deterministic Ω-automata vis-a-vis deterministic Buchi automata. In Algorithms and Computations, volume 834 of Lecture Notes in Computer Science, pages 378–386. Springer-Verlag, 1994.

    Google Scholar 

  25. O. Kupferman and O. Grumberg. Buy one, get one free!!! Journal of Logic and Computation, 6(4):523–539, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  26. O. Kupferman, S. Safra, and M.Y. Vardi. Relating word and tree automata. In Proc. 11th IEEE Symposium on Logic in Computer Science, pages 322–333, DIMACS, June 1996.

    Google Scholar 

  27. O. Kupferman and M.Y. Vardi. On the complexity of branching modular model checking. In Proc. 6th Conferance on Concurrency Theory, volume 962 of Lecture Notes in Computer Science, pages 408–422, Philadelphia, August 1995. Springer-Verlag.

    Google Scholar 

  28. O. Kupferman and M.Y. Vardi. Module checking. In Computer Aided Verification, Proc. 8th Int. Conference, volume 1102 of Lecture Notes in Computer Science, pages 75–86. Springer-Verlag, 1996.

    Google Scholar 

  29. O. Kupferman and M.Y. Vardi. Module checking revisited. In Computer Aided Verification, Proc. 9th Int. Conference, volume 1254 of Lecture Notes in Computer Science, pages 36–47. Springer-Verlag, 1997.

    Google Scholar 

  30. O. Kupferman and M.Y. Vardi. Freedom, weakness, and determinism: from linear-time to branching-time. In Proc. 13th IEEE Symposium on Logic in Computer Science, Indiana, June 1998.

    Google Scholar 

  31. O. Kupferman and M.Y. Vardi. Relating linear and branching model checking. In IFIP Working Conference on Programming Concepts and Methods, pages 304–326, New York, June 1998. Chapman & Hall.

    Google Scholar 

  32. O. Kupferman and M.Y. Vardi. Verification of fair transition systems. Chicago Journal of Theoretical Computer Science, 1998(2), March 1998.

    Google Scholar 

  33. R.P. Kurshan. Computer Aided Verification of Coordinating Processes. Princeton Univ. Press, 1994.

    Google Scholar 

  34. L. Lamport. Sometimes is sometimes “not never” — on the temporal logic of programs. In Proc. 7th ACM Symposium on Principles of Programming Languages, pages 174–185, January 1980.

    Google Scholar 

  35. O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proc. 12th ACM Symposium on Principles of Programming Languages, pages 97–107, New Orleans, January 1985.

    Google Scholar 

  36. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, January 1992.

    Google Scholar 

  37. K.L. McMillan. Symbolic model checking. Kluwer Academic Publishers, 1993.

    Google Scholar 

  38. M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.

    Google Scholar 

  39. R. Milner. An algebraic definition of simulation between programs. In Proc. 2nd International Joint Conference on Artificial Intelligence, pages 481–489. British Computer Society, September 1971.

    Google Scholar 

  40. D.E. Muller, A. Saoudi, and P.E. Schupp. Alternating automata, the weak monadic theory of the tree and its complexity. In Proc. 13th Int. Colloquium on Automata, Languages and Programming. Springer-Verlag, 1986.

    Google Scholar 

  41. D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54,:267–276, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  42. A. Pnueli. Linear and branching structures in the semantics and logics of reactive systems. In Proc. 12th Int. Colloquium on Automata, Languages and Programming, pages 15–32. Lecture Notes in Computer Science, Springer-Verlag, 1985.

    Google Scholar 

  43. J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Proc. 5th International Symp. on Programming, volume 137, pages 337–351. Springer-Verlag, Lecture Notes in Computer Science, 1981.

    Google Scholar 

  44. M.O. Rabin. Weakly definable relations and special automata. In Proc. Symp. Math. Logic and Foundations of Set Theory, pages 1–23. North Holland, 1970.

    Google Scholar 

  45. M.O. Rabin and D. Scott. Finite automata and their decision problems. IBM Journal of Research and Development, 3:115–125, 1959.

    Article  MathSciNet  Google Scholar 

  46. S. Safra. On the complexity of Ω-automata. In Proc. 29th IEEE Symposium on Foundations of Computer Science, pages 319–327, White Plains, October 1988.

    Google Scholar 

  47. K. Schneider. CTL and equivalent sublanguages of CTL. In Proceedings of IFIP Conference on Computer Hardware Description Languages and Applications, pages 40–59, Toledo, April 1997. Chapman and Hall.

    Google Scholar 

  48. A.P. Sistla and E.M. Clarke. The complexity of prepositional linear temporal logic. Journal ACM, 32:733–749, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  49. M.Y. Vardi. On the complexity of modular model checking. In Proc. 10th IEEE Symposium on Logic in Computer Science, pages 101–111, June 1995.

    Google Scholar 

  50. M.Y. Vardi. Verifiation of open systems. In S. Ramesh and G. Sivakuma, editors, Proc. 17th Conf. on Foundations of Software Technology and Theoretical Computer Science, Lecture Notes in Computers Science, pages 250–266. Springer-Verlag, 1997.

    Google Scholar 

  51. M.Y. Vardi. Linear vs. branching time: A complexity-theoretic perspective. In Proc. 13th IEEE Sym.. on Logic in Computer Science, 1998.

    Google Scholar 

  52. M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proc. First Symposium on Logic in Computer Science, pages 322–331, Cambridge, June 1986.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Davide Sangiorgi Robert de Simone

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vardi, M.Y. (1998). Sometimes and not never re-revisited: on branching versus linear time. In: Sangiorgi, D., de Simone, R. (eds) CONCUR'98 Concurrency Theory. CONCUR 1998. Lecture Notes in Computer Science, vol 1466. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055612

Download citation

  • DOI: https://doi.org/10.1007/BFb0055612

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64896-3

  • Online ISBN: 978-3-540-68455-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics