Abstract
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 INV rule for proving invariance properties can be automatically resolved by finite-state (BDD-based) methods with no need for interactive theorem proving. Combining the automatic computation of invariants with the automatic resolution of the VCs (verification conditions) yields a (necessarily) incomplete but fully automatic sound method for verifying large classes of parameterized systems. The generated invariants can be transferred to the VC-validation phase without ever been examined by the user, which explains why we refer to them as “invisible”. The efficacy of the method is demonstrated by automatic verification of diverse parameterized systems in a fully automatic and efficient manner.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
P.A. Abdulla, A. Bouajjani, B. Jonsson, and M. Nilsson. Handling global conditions in parametrized system verification. In CAV’99, LNCS 1633, pp. 134–145, 1999.
K. R. Apt and D. Kozen. Limits for automatic program verification of finite-state concurrent systems. Information Processing Letters, 22(6), 1986.
M.C. Browne, E.M. Clarke, and O. Grumberg. Reasoning about networks with many finite state processes. In PODC’86, pp. 240–248, 1986.
J. R. Burch and D. L. Dill. Automatic verification of pipelined microprocessor control. In CAV’94, LNCS 818, pp. 68–80, 1994.
E.M. Clarke, R. Enders, T. Filkorn, and S. Jha. Exploiting symmetry in temporal logic model checking. Formal Methods in System Design, 9(1/2), 1996.
E.M. Clarke, O. Grumberg, and S. Jha. Verifying parametrized networks using abstraction and regular languages. In CONCUR’95, pp. 395–407.
S.J. Creese and A.W. Roscoe. Formal verification of arbitrary network topologies. In Proc. of the Int. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA’99). CSREA Press, 1999.
S.J. Creese and A.W. Roscoe. Verifying an infinite family of inductions simultaneously using data independence and fdr. In FORTE/PSTV’99.
S.J. Creese and A.W. Roscoe. Data independent induction over structured networks. In Proc. of the Int. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA’00). CSREA Press, 2000.
G. Delzanno. Automatic verification of parametrized cache coherence protocols. In CAV’00, LNCS 1855, pp. 53–68, 2000.
E.A. Emerson and V. Kahlon. Reducing model checking of the many to the few. In CADE’00, pp. 236–255, 2000.
E. A. Emerson and K. S. Namjoshi. Reasoning about rings. In POPL’95.
E.A. Emerson and K.S. Namjoshi. Automatic verification of parameterized synchronous systems. In CAV’96, LNCS 1102, 1996.
E. A. Emerson and A. P. Sistla. Symmetry and model checking. Formal Methods in System Design, 9(1/2), 1996.
E. A. Emerson and A. P. Sistla. Utilizing symmetry when model checking under fairness assumptions. TOPLAS, 19(4), 1997.
S. German. Personal Communication, 2000.
S.M. German and A.P. Sistla. Reasoning about systems with many processes. JACM, 39:675–735, 1992.
V. Gyuris and A. P. Sistla. On-the-fly model checking under fairness that exploits symmetry. In CAV’97, LNCS 1254, 1997.
E.P. Gribomont and G. Zenner. Automated verification of szymanski’s algorithm. In TACAS’98, LNCS 1384, pp. 424–438, 1998.
N. Halbwachs, F. Lagnier, and C. Ratel. An experience in proving regular networks of processes by modular model checking. Acta Informatica, 29(6/7):523–543, 1992.
C.N. Ip and D. Dill. Verifying systems with replicated components in Murϕ. In CAV’96, LNCS 1102, 1996.
E. Jensen and N.A. Lynch. A proof of burn’s n-process mutual exclusion algorithm using abstraction. In TACAS’98, LNCS 1384, pp. 409–423, 1998.
B. Jonsson and M. Nilsson. Transitive closures of regular relations for verifying infinite-state systems. In TACAS’00, LNCS 1785, 2000.
R.P. Kurshan and K.L. McMillan. A structural induction theorem for processes. Inf. and Comp., 117:1–11, 1995.
KMM+97._Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model checking with rich assertional languages. In CAV’97, LNCS 1254, pp. 424–435, 1997.
Y. Kesten and A. Pnueli. Control and data abstractions: The cornerstones of practical formal verification. STTT, 4(2):328–342, 2000.
D. Lesens, N. Halbwachs, and P. Raymond. Automatic verification of parameterized linear networks of processes. In POPL’97, 1997.
D. Lesens and H. Saidi. Automatic verification of parameterized networks of processes by abstraction. In INFINITY’97, 1997.
MAB+94._Z. Manna, A. Anuchitanukul, N. Bjørner, A. Browne, E. Chang, M. Colón, L. De Alfaro, H. Devarajan, H. Sipma, and T.E. Uribe. STeP: The Stanford Temporal Prover. Technical Report STAN-CS-TR-94-1518, Stanford University, 1994.
K.L. McMillan. Getting started with smv. Technical report, Cadence Berkeley Labs, 1998.
K.L. McMillan. Verification of an implementation of Tomasulo’s algorithm by compositional model checking. In CAV’98, LNCS 1427, pp. 110–121.
Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.
M.S. Papamarcos and J.H. Patel. A low-overhead coherence solution for multiprocessors with private cache memories. In Proc. Int. Symp. on Shared Memory Multiprocesors (ISCA’84), pp. 348–354, 1984.
A. Pnueli, S. Ruah, and L. Zuck. Automatic deductive verification with invisible invariants. In TACAS’01, LNCS, pp. 82–97, 2001.
A. Pnueli and E. Shahar. Liveness and acceleration in parameterized verification. In CAV’00, LNCS 1855, pp. 328–343, 2000.
Z. Shtadler and O. Grumberg. Network grammars, communication behaviors and automatic verification. In Automatic Verification Methods for Finite State Systems, volume 407 of LNCS, pp. 151–165, 1989.
N. Shankar, S. Owre, and J.M. Rushby. The PVS proof checker: A reference manual (draft). Technical report, Comp. Sci.,Laboratory, SRI International, 1993.
B. K. Szymanski. A simple solution to Lamport’s concurrent programming problem with linear wait. In Proc. 1988 International Conference on Supercomputing Systems, pp. 621–626, 1988.
P. Wolper and V. Lovinfosse. Verifying properties of large sets of processes with network invariants. In Automatic Verification Methods for Finite State Systems, volume 407 of LNCS, pp. 68–80, 1989.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arons, T., Pnueli, A., Ruah, S., Xu, Y., Zuck, L. (2001). Parameterized Verification with Automatically Computed Inductive Assertions?. In: Berry, G., Comon, H., Finkel, A. (eds) Computer Aided Verification. CAV 2001. Lecture Notes in Computer Science, vol 2102. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44585-4_19
Download citation
DOI: https://doi.org/10.1007/3-540-44585-4_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42345-4
Online ISBN: 978-3-540-44585-2
eBook Packages: Springer Book Archive