From Pre-Historic to Post-Modern Symbolic Model Checking

Thomas A. Henzinger*, Orna Kupferman, Shaz Qadeer

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

19 Scopus citations


Symbolic model checking, which enables the automatic verification of large systems, proceeds by calculating expressions that represent state sets. Traditionally, symbolic model-checking tools are based on backward state traversal; their basic operation is the function pre, which, given a set of states, returns the set of all predecessor states. This is because specifiers usually employ formalisms with future-time modalities, which are naturally evaluated by iterating applications of pre. It has been shown experimentally that symbolic model checking can perform significantly better if it is based, instead, on forward state traversal; in this case, the basic operation is the function post, which, given a set of states, returns the set of all successor states. This is because forward state traversal can ensure that only parts of the state space that are reachable from an initial state and relevant for the satisfaction or violation of the specification are explored; that is, errors can be detected as soon as possible. In this paper, we investigate which specifications can be checked by symbolic forward state traversal. We formulate the problems of symbolic backward and forward model checking by means of two μ-calculi. The pre-μ calculus is based on the pre operation, and the post-μ calculus is based on the post operation. These two μ-calculi induce query logics, which augment fixpoint expressions with a boolean emptiness query. Using query logics, we are able to relate and compare the symbolic backward and forward approaches. In particular, we prove that all ω-regular (linear-time) specifications can be expressed as post-μ. queries, and therefore checked using symbolic forward state traversal, On the other hand, we show that there are simple branching-time specifications that cannot be checked in this way.

Original languageAmerican English
Pages (from-to)303-327
Number of pages25
JournalFormal Methods in System Design
Issue number3
StatePublished - Nov 2003

Bibliographical note

Funding Information:
∗An abbreviated version of this paper appeared in Proceedings of the 10th International Conference on Computer Aided Verification, Lecture Notes in Computer Science 1427, pp. 195–206, Springer-Verlag, 1998. This research was supported in part by the SRC contract 99-TJ-683.003 and the NSF grant CCR-9988172.


  • Forward traversal
  • Symbolic model checking
  • μ calculus
  • ω-regular specifications


Dive into the research topics of 'From Pre-Historic to Post-Modern Symbolic Model Checking'. Together they form a unique fingerprint.

Cite this