Volume 1
Summer 2006
Number 1

Automated Recognition of Stutter Invariance

 of LTL Formulas

Jeffrey Dallien and Wendy MacCaull

Abstract: Formal verification is the growing field of formalizing and verifying specifications for hardware and software systems. One such technique, known as model checking, can exhaustively check a software model for properties written in a specification language, such as Linear Temporal Logic (LTL). For large systems, memory reduction techniques are often used to complete a verification with the available hardware. One reduction technique, that of partial order reduction, has proven useful in aiding verifications, but it limits the expressiveness of LTL specifications.  Due to the phenomenon  of stuttered states in the model's reduced state graph representation, the LTL next operator is not guaranteed to produce correct results when partial order reduction is used. As more casual users begin using model checking, it is important to provide them with a convenient method of writing specifications that are known to be safe to use in the presence of partial order reduction.
A description of how stuttered states are introduced and of a system of patterns for LTL formulas that are safe to use, despite the fact that they use the next operator, are given. To automatically determine if a formula matches one of the safe patterns, a Prolog based LTL recognizer which we developed is discussed. A listing of the patterns of formulas recognized is given as an appendix