Abstract
We show how LTL model checking can be reduced to CTL model checking with fairness constraints. Using this reduction, we also describe how to construct a symbolic LTL model checker that appears to be quite efficient in practice. In particular, we show how the SMV model checking system developed by McMillan [16] can be extended to permit LTL specifications. The results that we have obtained are quite surprising. For the specifications which can be expressed in both CTL and LTL, the LTL model checker required at most twice as much time and space as the CTL model checker. We also succeeded in verifying non-trivial LTL specifications. The amount of time and space that is required is quite reasonable. Based on the examples that we considered, it appears that efficient LTL model checking is possible when the specifications are not excessively complicated.
Similar content being viewed by others
References
M. Ben-Ari, Z. Manna, and A. Pnueli. "The temporal logic of branching time," Acta Informatica, Vol. 20, pp. 207–226, 1983.
K. S. Brace, R. L. Rudell, and R. E. Bryant. "Efficient implementation of a BDD package," In Proceedings of the 27th ACM/IEEE Design Automation Conference. IEEE Computer Society Press, June 1990.
R. E. Bryant. "Graph-based algorithms for boolean function manipulation," IEEE Transactions on Computers, Vol. C-35, 1986.
J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. "Symbolic model checking: 1020 states and beyond.," Information and Computation, Vol. 98, pp. 142–170,1992.
E. Clarke, O. Grumberg, and D. Long. "Verification tools for finite-state concurrent systems," In A Decade of Concurrency, Noordwijkerhout, The Netherlands, June 1993. Lecture Notes In Computer Science, Springer Verlag: vol. 684, pp. 124–175, 1994.
E. M. Clarke and I. A. Draghicescu. "Expressibility results for linear time and branching time logics," In Linear Time, Branching Time, and Partial Order in Logics and Models for Concurrency, Vol. 354, pp. 428–437. Springer-Verlag: Lecture Notes in Computer Science, 1988.
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, Vol. 46, pp. 301–308, 1993.
E. M. Clarke and E. A. Emerson. "Synthesis of synchronization skeletons for branching time temporal logic," In Logic of Programs: Workshop, Yorktown Heights, NY, May 1981, Vol. 131 of Lecture Notes in Computer Science. 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, Vol. 8, pp. 244–263, 1986.
E. M. Clarke, O. Grumberg, H. Hiraishi, S. Jha, D. E. Long, K. L. McMillan, and L. A. Ness. "Verification of the Futurebus+ cache coherence protocol," In L. Claesen, editor, Proceedings of the Eleventh International Symposium on Computer Hardware Description Languages and their Applications. North-Holland, April 1993.
O. Coudert, J. C. Madre, and C. Berthet. "Verifying temporal properties of sequential machines without building their state diagrams," In R. P. Kurshan and E. M. Clarke, editors, Proceedings of the 1990 Workshop on Computer-Aided Verification, June 1990.
E.A. Emerson and J.Y. Halpern. "Sometimes" and "Not Never" revisited: On branching time versus linear time." Journal of the ACM, vol. 33, pp. 151–178, 1986
E.A. Emerson and Chin Laung Lei. "Modalities for model checking: Branching time strikes back," Twelfth Symposium on Principles of Programming Languages, New Orleans, La., January 1985.
O. Lichtenstein and A. Pnueli. "Checking that finite state concurrent programs satisfy their linear specifi-cation," In Proceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, January 1985.
A. J. Martin. "The design of a self-timed circuit for distributed mutual exclusion," In H. Fuchs, editor, Proceedings of the 1985 Chapel Hill Conference on Very Large Scale Integration, 1985.
K. L. McMillan. Symbolic Model Checking. Kluwer Academic Publishers: Boston, 1993.
A. P. Sistla and E.M. Clarke. "Complexity of propositional temporal logics," Journal of the ACM, Vol. 32, pp. 733–749, July 1986.
M. Y. Vardi and P. Wolper. "An automata-theoretic approach to automatic program verification," In Proceedings of the First Annual Symposium on Logic in Computer Science. IEEE Computer Society Press, June 1986.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Clarke, E.M., Grumberg, O. & Hamaguchi, K. Another Look at LTL Model Checking. Formal Methods in System Design 10, 47–71 (1997). https://doi.org/10.1023/A:1008615614281
Issue Date:
DOI: https://doi.org/10.1023/A:1008615614281