Stutter-Invariant Languages, ω-Automata, and Temporal Logic
Temporal logic and ω-automata are two ofthe common frameworks for specifying properties of reactive systems in modern verification tools. In this paper we unify these two frameworks in the linear time setting for the specification of stutter-invariant properties, which are used in the context ofpartial-order verification. We will observe a simple variant oflinear time propositional temporal logic (LTL) for expressing exactly the stutter-invariant ω-regular languages. The complexity of, and algorithms for, all the relevant decision procedures for this logic remain essentially the same as with ordinary LTL. In particular, satisfiability remains PSPACE-complete and temporal formulas can be converted to at most exponential sized ω-automata. More importantly, we show that the improved practical algorithms for conversion ofL TL formulas to automata, used in model-checking tools such as SPIN, which typically produce much smaller than worst-case output, can be modified to incorporate this extension to LTL with the same benefits. In this way, the specification mechanism in temporal logic-based tools that employ partial-order reduction can be extended to incorporate all stutter-invariant ω-regular properties.
KeywordsModel Check Temporal Logic Linear Temporal Logic Acceptance Condition Kripke Structure
- 1.J. R. Büchi. On a decision method in restricted second-order arithmetic. In Proceedings of the International Congress on Logic, Methodology, and Philosophy of Science, 1960. Stanford University Press, 1962.Google Scholar
- 2.E. A. Emerson. Temporal and modal logics. In J. van Leeuwen, editor, Handbook of Theoret. Comput. Sci., volume B, pages 995–1072. Elsevier, Amsterdam, 1990.Google Scholar
- 3.K. Etessami. Stutter-invariant languages, ω-automata, and temporal logic. Technical Report BL011272-980611-07TM, Bell Laboratories, June 11 1998.Google Scholar
- 4.R. Gerth, D. Peled, M. Y. Vardi, and P. Wolper. Simple on-the-fly automatic verification oflinear temporal logic. In PSTV95, Protocol Specification Testing and Verification, pages 3–18, 1995.Google Scholar
- 5.P. Godefroid and P. Wolper. A partial approach to model checking. In Proc. 6th Ann. IEEE Symp. on Logic in Computer Science, pages 406–415, 1991.Google Scholar
- 7.G. J. Holzmann and D. Peled. An improvement in formal verification. In 7th International Conference on Formal Description Techniques, pages 177–194, 1994.Google Scholar
- 9.L. Lamport. What good is temporal logic. In R. E. A. Mason, editor, Information Processing’ 83: Proc. IFIP 9th World Computer Congress, pages 657–668, 1983.Google Scholar
- 10.L. Lamport. The temporal logic ofactions. ACM Transactions on Programming Languages and Systems, pages 872–923, 1994.Google Scholar
- 11.Z. Manna and A. Pnueli. Specification and verification ofconcurren t programs by ω-automata. In Proc. 14th Ann. ACM Symp. on Principles of Programming Languages, pages 1–12, 1987.Google Scholar
- 12.K. McMillan, 1998. See http://www-cad.eecs.berkeley.edu/kenmcmil for recent versions ofSMV and its documentation.
- 16.A. Pnueli. The temporal logic ofprograms. In Proc. 18th Symp. on Foundations of Computer Science, pages 46–57, 1977.Google Scholar
- 17.A. Rabinovich. Expressive completeness oftemp oral logic ofactions. In Mathematical Foundations of Computer Science, pages 229–238, August 1998.Google Scholar