Abstract
The exponential gap between CTL and LTL model-checking complexity, led to a development of model-checking tools for CTL, while model checkers for LTL have stayed behind. However, users of those tools have to struggle with the limited expressive power of CTL and are often compelled to give up checking many important behaviors. As a matter of course, finding specification languages which are strictly more expressive than CTL and yet maintain its attractive model-checking complexity, is a challenging problem and has been an active area of research. In this paper we introduce such a language.
Our language, CTL2, is an outcome of a new approach for defining sub-languages of CTL*. The approach allows a bounded number of linear-time operators within the path formulas of CTL*. We discuss the expressive power of CTL2 and, in particular, focus on the relation between CTL2 and CTL. We show that beyond the increase in the expressive power, a substantial advantage of CTL2 is the neat and intuitive presentation it provides for specifications whose CTL equivalences are complicated and very hard to understand. We introduce a model-checking procedure for CTL2. Our model checker is of complexity linear in both the formula and the structure being checked, just as the one for CTL. In addition, we suggest an extension of it that, preserving its complexity, handles fairness.
Work carried out under a project on program verification and semantics of programming languages, funded by the Israeli academy of sciences (basic research). The second author was partially supported by the U.S.-Israeli Binational Science Foundation.
Preview
Unable to display preview. Download preview PDF.
References
M.C. Browne. An improved algorithm for the automatic verification of finite state systems using temporal logic. In Proceedings of the First Symposium on Logic in Computer Science, pages 260–266, Cambridge, June 1986.
R.E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, C-35(8), 1986.
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.
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.
E.A. Emerson and E.M. Clarke. Using branching time logic to synthesize synchronization skeletons. Science of Computer Programming, 2:241–266, 1982.
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.
E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, White Plains, Oct 1988.
E.A. Emerson. Temporal and modal logic. Handbook of theoretical computer science, pages 997–1072, 1990.
A.E. Emerson and A.P. Sistla. Deciding full branching time logics. Information and Control, 61(3):175–201, 1984.
O. Grumberg and D. Long. Model checking and modular verification. In Proc. 2nd Conference on Concurrency Theory, volume 527 of Lecture Notes in Computer Science, 1991.
L. Lamport. Sometimes is sometimes “not never” — on the temporal logic of programs. In Proceedings of the 7th ACM Symposium on Principles of Programming Languages, pages 174–185, January 1980.
K.L. McMillan. Symbolic model checking. Kluwer Academic Publishers, 1993.
A. Pnueli. The temporal semantics of concurrent programs. Theoretical Computer Science, 13:45–60, 1981.
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.
A.P. Sistla and E.M. Clarke. The complexity of propositional linear time logic. ACM, 32(3):733–749, 1985.
R.E. Tarjan. Depth first search and linear graph algorithms. SIAM Journal of Computing, 1(2):146–160, 1972.
P. Wolper and P. Godefroid. Partial-order methods for temporal verification. In Proc. 4th Conferance on Concurrency Theory, volume 715 of Lecture Notes in Computer Science, pages 233–246, Hildesheim, August 1993. Springer-Verlag.
P. Wolper. Specification and synthesis of communicating processes using an extended temporal logic. In Proc. 9th Symposium on Principles of Programming Languageseedings, pages 20–33, Albuquerque, January 1982.
P. Wolper. Temporal logic can be more expressive. Information and Control, 56(1–2):72–99, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bernholtz, O., Grumberg, O. (1994). Buy one, get one free !!!. In: Gabbay, D.M., Ohlbach, H.J. (eds) Temporal Logic. ICTL 1994. Lecture Notes in Computer Science, vol 827. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013990
Download citation
DOI: https://doi.org/10.1007/BFb0013990
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58241-0
Online ISBN: 978-3-540-48585-8
eBook Packages: Springer Book Archive