Symbolic Model Checking: An Approach to the State Explosion Problem

The work

AuthorsKenneth L. McMillan
Editors
Typephdthesis
Year1992
Citekeymcmillan1992symbolic

Where it appeared

Number in seriesCMU-CS-92-131
SchoolCarnegie Mellon University, Department of Computer Science

Related

Distinct fromburch1992symbolic
Superseded bymcmillan1993symbolic

From bibtex.

Abstract

Finite state models of concurrent systems grow exponentially as the number of components of the system increases. This is known widely as the state explosion problem in automatic verification, and has limited finite state verification methods to small systems. To avoid this problem, a method called symbolic model checking is proposed and studied. This method avoids building a state graph by using Boolean formulas to represent sets and relations. A variety of properties characterized by least and greatest fixed points can be verified purely by manipulations of these formulas using Ordered Binary Decision Diagrams. Theoretically, a structural class of sequential circuits is demonstrated whose transition relations can be represented by polynomial space OBDDs, though the number of states is exponential. This result is born out by experimental results on example circuits and systems. The most complex of these is the cache consistency protocol of a commercial distributed multiprocessor. The symbolic model checking technique revealed subtle errors in this protocol, resulting from complex execution sequences that would occur with very low probability in random simulation runs. In order to model the cache protocol, a language was developed for describing sequential circuits and protocols at various levels of abstraction. This language has a synchronous dataflow semantics, but allows nondeterminism and supports interleaving processes with shared variables. A system called SMV can automatically verify programs in this language with respect to temporal logic formulas, using the symbolic model checking technique. A technique for proving properties of inductively generated classes of finite state systems is also developed. The proof is checked automatically, but requires a user supplied process called a process invariant to act as an inductive hypothesis. An invariant is developed for the distributed cache protocol, allowing properties of systems with an arbitrary number of processors to be proved. Finally, an alternative method is developed for avoiding the state explosion in the case of asynchronous control circuits. This technique is based the unfolding of Petri nets, and is used to check for hazards in a distributed mutual exclusion circuit.

A copy is held

pdf, 7.8 MB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-10-22 19:21 UTC
Approved bya person 2026-10-22 22:41 UTC

Cite it as

@phdthesis{mcmillan1992symbolic,
  title        = {Symbolic Model Checking: An Approach to the State Explosion Problem},
  author       = {Kenneth L. McMillan},
  year         = {1992},
  school       = {Carnegie Mellon University, Department of Computer Science},
}

This record lives at https://refs.drheap.org/mcmillan1992symbolic/ and will keep doing so.