The paper presents a method, called the method of
verification by invisible invariants, for the automatic
verification of a large class of parameterized systems. The method
is based on the automatic calculation of candidate inductive
assertions and checking for their inductiveness, using symbolic
model-checking techniques for both tasks. First, we show how to
use model-checking techniques over finite (and small) instances of
the parameterized system in order to derive candidates for
invariant assertions. Next, we show that the premises of the
standard deductive
The paper extends a previous presentation of this method in TACAS'01
by allowing inequality comparisons between variables and parameterized
arrays whose values range over parameterized domains. The efficacy of
the method is demonstrated by automatic verification of diverse
parameterized systems such as various cache protocols, a 3-stage
pipeline, Szymanski's algorithm for mutual exclusion, a token-ring
algorithm, a restricted form of the Bakery algorithm, and an
N-process version of Peterson's algorithm for mutual exclusion,
all in a fully automatic and efficient manner.
Proc. 13th Conference on Computer Aided Verification
Gzipped PostScript
PDF