Symbolic Model Checking: An Approach to the State Explosion Problem
The work
| Authors | Kenneth L. McMillan |
|---|---|
| Editors | |
| Type | phdthesis |
| Year | 1992 |
| Citekey | mcmillan1992symbolic |
Where it appeared
| Number in series | CMU-CS-92-131 |
|---|---|
| School | Carnegie Mellon University, Department of Computer Science |
Related
| Distinct from | burch1992symbolic |
|---|---|
| Superseded by | mcmillan1993symbolic |
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 here | agent via bibtex |
|---|---|
| Added | 2026-10-22 19:21 UTC |
| Approved by | a person 2026-10-22 22:41 UTC |
Filed under
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.