Abstract
This report describes the design and implementation of a model checker for linear time temporal logic. The model checker uses a depth-first search algorithm that attempts to find a minimal satisfying model and uses as little space as possible during the checking procedure. The depth-first nature of the algorithm enables the model checker to be used where space is at a premium.
Similar content being viewed by others
References
Banieqbal, B.: The Problem of Verifying Systems with Many Processes. TEMPLE project report, Department of Computer Science, University of Manchester, 1987.
Barringer, H., Fisher, M., and Gough, G.: Fair SMG and Linear Time Model Checking. InProc. Workshop on Automatic Verification Methods for Finite State Systems, Grenoble, France, June 1989. (Published inLecture Notes in Computer Science 407.)
Barringer, H., Kuiper, R., and Pnueli A.: A Really Abstract Concurrent Model and its Temporal Logic. InProc. 13th ACM Symp. on the Principles of Programming Languages, St. Petersberg Beach, Florida, January 1986.
Browne, M.C.: An Improved Algorithm for the Automatic Verification of Finite State Systems using Temporal Logic. Technical report, Department of Computer Science, Carnegie Mellon University, December 1986.
Browne, M.C, Clarke, E.M., Dill, D., and Mishra, B.: Automatic Verification of Sequential Circuits using Temporal Logic. Technical Report CS-85-100, Department of Computer Science, Carnegie Mellon University, 1984.
Clarke, E.M., and Grümberg, O.: Avoiding the State Explosion Problem in Temporal Logic Model Checking Algorithms. Technical report, Department of Computer Science, Carnegie Mellon University, 1987.
Clarke, E.M., Emerson, E.A., and Sistla, A.P.: Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications: A Practical Approach. InProc. 10th ACM Symp. on the Principles of Programming Languages, Austin, Texas, 1983.
Clarke, E. M., Grümberg, O., and Browne, M. C.: Reasoning about Networks with many identical Finite-State Processes. Technical report, Department of Computer Science, Carnegie Mellon University, December 1986.
Emerson, E. A., and Halpern, J. Y.: Decision Procedures and Expressiveness in the Temporal Logic of Branching Time. InProc. 14th ACM Symp. on the Theory of Computing, pp. 169–180, 1982.
Emerson, E. A., and Sistla, A. P.: Deciding full branching time logic.Information and Control, 61, 175–201 (1984).
Fischer, M. J., and Ladner, R. E.: Propositional Dynamic Logic of Regular Programs.Journal of Computer and System Sciences, 18(2), 194–211 (1979).
Fisher, M.: Characterising Temporal Logic. Technical Report UMCS-89-10-6, Department of Computer Science, University of Manchester, Oxford Road, Manchester M13 9PL, UK, October 1989.
Gough, G. D.: Decision Procedures for Temporal Logic. Master's thesis, Department of Computer Science, University of Manchester, October 1984.
Gough, G. D., and Barringer, H.: A Semantics Driven Temporal Verification System. InProc. ESOP '88, March 1988.
Lichtenstein, O., and Pnueli, A.: Checking that Finite State Concurrent Programs Satisfy their Linear Specification. InProc. 12th ACM Symposium on the Principles of Programming Languages, New Orleans, Louisiana, January 1985.
Lichtenstein, O., Pnueli, A., and Zuck, L.: The Glory of the Past.Lecture Notes in Computer Science 193, pp. 196–218, Springer-Verlag, 1985.
Pnueli, A.: The Temporal Logic of Programs. InProc. 18th Symp. on the Foundations of Computer Science, Providence, November 1977.
Sistla, A. P., and Clarke, E. M.: Complexity of propositional linear temporal logics.ACM Journal, 32(3), 733–749, (1985).
Stroustrup, B.:The C++ Programming Language, Addison-Wesley, 1986.
Vardi, M. Y., and Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. Technical Report RJ 5184 (53488), IBM Almaden Research Center, San Jose, California, January 1986.
Author information
Authors and Affiliations
Additional information
This work was supported both by Alvey under grant PRJ/SE/054 (SERC grant GR/D/57942) and by ESPRIT under Basic Research Action 3096 (SPEC).
Rights and permissions
About this article
Cite this article
Fisher, M. A model checker for linear time temporal logic. Formal Aspects of Computing 4, 299–319 (1992). https://doi.org/10.1007/BF01212306
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01212306