posted on 1974-01-01, 00:00authored byShuvendu K. Lahiri, Randal E. Bryant, Byron Cook
Predicate abstraction is a useful form of abstraction for the
verification of transition systems with large or infinite state spaces. One
of the main bottlenecks of this approach is the extremely large number
of decision procedures calls that are required to construct the abstract
state space. In this paper we propose the use of a symbolic decision procedure
and its application for predicate abstraction. The advantage of
the approach is that it reduces the number of calls to the decision procedure
exponentially and also provides for reducing the re-computations
inherent in the current approaches. We provide two implementations of
the symbolic decision procedure: one based on BDDs which leverages
the current advances in early quantification algorithms, and the other
based on SAT-solvers. We also demonstrate our approach with quantified
predicates for verifying parameterized systems. We illustrate the
effectiveness of this approach on benchmarks from the verification of
microprocessors, communication protocols, parameterized systems, and
Microsoft Windows device drivers.