Abstract
We describe an automata-theoretic approach to the automatic verification of finite-state programs. The basic idea underlying this approach is that for any temporal formula we can construct an alternating automaton that accepts precisely the computations that satisfy the formula. For linear temporal logics the automaton runs on infinite words while for branching temporal logics the automaton runs on infinite trees. The simple combinatorial structures that emerge from the automata-theoretic approach decouple the logical and algorithmic components of finite-state-program verification and yield clear and general verification algorithms.
Part of this work was done at the IBM Almaden Research Center.
Preview
Unable to display preview. Download preview PDF.
References
J.A. Brzozowski and E. Leiss. Finite automata, and sequential networks. Theoretical Computer Science, 10:19–35,1980.
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, California, 1994. Springer-Verlag, Berlin. full version available from authors.
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,1986.
E.M. Clarke and O. Gramberg. Avoiding the state explosion problem in temporal logic model-checking algorithms. In Proc. 6th ACM Symposium on Principles of Distributed Computing, pages 294–303, Vancouver, British Columbia, August 1987.
E.M. Clarke, O. Gramberg, and D. Long. Verification tools for finite-state concurrent systems. In A Decade of Concurrency — Reflections and Perspectives (Proc. REX School/Symposium) volume 803 of Lecture Notes in Computer Science, pages 124–175. Springer-Verlag, Berlin, 1993.
Y. Choueka. Theories of automata on Ω-tapes: A simplified approach. J. Computer and System Sciences, 8:117–141,1974.
A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer. Alternation. Journal of the Association for Computing Machinery, 28(1):114–133,1981.
R. Cleaveland. A linear-time model-checking algorithm for the alternation-free modal Μ-calculus. Formal Methods in System Design, 2:121–147,1993.
C. Courcoubetis, M.Y. Vardi, P. Wolper, and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1:275–288,1992.
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, pages 328–337, White Plains, October 1988.
E.A. Emerson and C. Jutla. Tree automata, mu-calculus and determinacy. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, pages 368–377, San Juan, October 1991.
E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pages 84–96, New Orleans, January 1985.
E.A. Emerson and C.-L. Lei. Temporal model checking under generalized fairness constraints. In Proc. 18th Hawaii International Conference on System Sciences, pages 277–288, Hawaii, 1985.
E.A. Emerson. Automata, tableaux, and temporal logics. In Logic of Programs, volume 193 of Lecture Notes in Computer Science, pages 79–87. Springer-Verlag, Berlin, 1985.
E.A. Emerson. Temporal and modal logic. Handbook of Theoretical Computer Science, B:997–1072, 1990.
E.A. Emerson and A. P. Sistla. Deciding branching time logic. In Proceedings of the 16th ACM Symposium on Theory of Computing, pages 14–24, Washington, April 1984.
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.
M.T. Liu. Protocol engineering. Advances in Computing, 29:79–195,1989.
O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pages 97–107, New Orleans, January 1985.
O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 196–218, Brooklyn, 1985. Springer-Verlag, Berlin.
S. Miyano and T. Hayashi. Alternating finite automata on Ω-words. Theoretical Computer Science, 32:321–330,1984.
M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, 1992.
D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54,:267–276,1987.
D.E. Muller and P.E. Schupp. Simulating alternating tree automata by nondeterministic automata: New results and new proofs of the theorems by Rabin, McNaughton and Safra. Theoretical Computer Science, 141(1–2):69–108, April 1995.
D.E. Muller, A. Saoudi, and P.E. Schupp. Alternating automata, the weak monadic theory of the tree and its complexity. In L. Kott, editor, Automata, Languages and Programming, Proc. 13th Int. Colloquium (ICALP '86), volume 226 of Lecture Notes in Computer Science, pages 275–283. Springer-Verlag, Berlin, 1986.
D. E. Muller, A. Saoudi, and P. E. Schupp. Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time. In Proceedings 3rd IEEE Symposium on Logic in Computer Science, pages 422–427, Edinburgh, July 1988.
R. Peikert. Ω-regular languages and propositional temporal logic. Technical Report 85-01, ETH, 1985.
A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symposium on Foundation of Computer Science, pages 46–57, 1977.
J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Int. Symp. on programming, Proc. 5th Int. Symposium, volume 137 of Lecture Notes in Computer Science, pages 337–351. Springer-Verlag, Berlin, 1981.
M.O. Rabin. Weakly definable relations and special automata. In Y. Bar-Hilel, editor, Proc. Symp. Math. Logic and Foundations of Set Theory, pages 1–23. North Holland, 1970.
H. Rudin. Network protocols and tools to help produce them. Annual Review of Computer Science, 2:291–316,1987.
S. Safra. On the complexity of omega-automata. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, pages 319–327, White Plains, October 1988.
A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. Journal of the Association for Computing Machinery, 32:733–749, 1985.
R. S. Streett and E. A. Emerson. The propositional mu-calculus is elementary. In J. Paredaens, editor, Automata, Languages and Programming, Proc. 11th Int. Colloquium (ICALP '84), volume 172 of Lecture Notes in Computer Science, pages 465–472. Springer-Verlag, Berlin, 1984.
A.P. Sistla. Theoretical issues in the design and analysis of distributed systems. PhD thesis, Harvard University, 1983.
A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Büchi automata with applications to temporal logic. Theoretical Computer Science, 49:217–237,1987.
M.Y. Vardi. Nontraditional applications of automata theory. In Theoretical Aspects of Computer Software, Proc. Int. Symposium (TACS'94), volume 789 of Lecture Notes in Computer Science, pages 575–597. Springer-Verlag, Berlin, 1994.
M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of the First Symposium on Logic in Computer Science, pages 322–331, Cambridge, June 1986.
M.Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs. Journal of Computer and System Science, 32(2): 182–21, April 1986.
M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37,1994.
P. Wolper. Ontherelation of programs and computations to models of temporal logic. In Temporal Logic in Specification, Proc., volume 398 of Lecture Notes in Computer Science, pages 75–123. Springer-Verlag, Berlin, 1989.
P. Wolper, M.Y. Vardi, and A.P. Sistla. Reasoning about infinite computation paths. In Proc. 24th IEEE Symposium on Foundations of Computer Science, pages 185–194, Tucson, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Vardi, M.Y. (1995). Alternating automata and program verification. In: van Leeuwen, J. (eds) Computer Science Today. Lecture Notes in Computer Science, vol 1000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015261
Download citation
DOI: https://doi.org/10.1007/BFb0015261
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60105-0
Online ISBN: 978-3-540-49435-5
eBook Packages: Springer Book Archive