Abstract
A parameterized concurrent system represents an infinite family (of finite state systems) parameterized by a recursively defined type such as chains, trees. It is therefore natural to verify parameterized-systems by inducting over this type. We employ a program transformation based proof methodology to automate such induction proofs. Our proof technique is geared to automate nested induction proofs which do not involve strengthening of induction hypothesis. Based on this technique, we have designed and implemented a prover for parameterized protocols. The prover has been used to automatically verify safety properties of parameterized cache coherence protocols, including broadcast protocols and protocols with global conditions. Furthermore we also describe its successful use in verifying mutual exclusion in the Java Meta-Locking Algorithm, developed recently by Sun Microsystems for ensuring secure access of Java objects by an arbitrary number of Java threads.
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
O. Agesen et al. An efficient meta-lock for implementing ubiquitous synchronization. In ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), 1999. Technical report available from http://www.sun.com/research/techrep/1999/abstract-76.html
K. Apt and D. Kozen. Limits for automatic verification of finite-state systems. Information Processing Letters, 15:307–309, 1986.
J. Archibald and J.-L. Baer. Cache coherence protocols: Evaluation using a multi-processor simulation model. ACM Transactions on Computer Systems, 4, 1986.
S. Basu, S.A. Smolka, and O.R. Ward. Model checking the Java meta-locking algorithm. In IEEE International Conference on the Engineering of Computer Based Systems. IEEE Press, April 2000.
N. Bjorner, I.A. Browne, and Z. Manna. Automatic generation of invariants and intermediate assertions. Theoretical Computer Science, 173(1):49–87, 1997.
E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2), 1986.
E.M. Clarke, O. Grumberg, and S. Jha. Verifying parameterized networks. ACM Transactions on Programming Languages and Systems, 19(5), 1997.
G. Delzanno. Automatic verification of parameterized cache coherence protocols. In Computer Aided Verification (CAV), LNCS 1855, 2000.
E.A. Emerson and K.S. Namjoshi. Reasoning about rings. In ACM SIGPLAN International Conference on Principles of Programming Languages (POPL), 1995.
E.A. Emerson and K.S. Namjoshi. Automated verification of parameterized synchronous systems. In Computer Aided Verification (CAV), LNCS 1102, 1996.
E.A. Emerson and K.S. Namjoshi. On model checking for non-deterministic infinite state systems. In IEEE Symposium on Logic in Computer Science (LICS), 1998.
J. Esparza, A. Finkel, and R. Mayr. On the verification of broadcast protocols. In IEEE Symposium on Logic in Computer Science (LICS), 1999.
S. German and A. Sistla. Reasoning about systems with many processes. Journal of the ACM, 39:675–735, 1992.
INRIA Rocquencourt, URL http://pauillac.inria.fr/coq/doc/main.html , Paris, France. The Coq Proof Assistant: Reference Manual, 1999
C. N. Ip and D. L. Dill. Verifying systems with replicated components in Murϕ. Formal Methods in System Design, 14(3), May 1999.
B. Jonsson and M. Nilsson. Transitive closures of regular relations for verifying infinite-state systems. In International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS), LNCS 1785, 2000.
M. Kaufmann, P. Manolis, and J.S. Moore. Computer-Aided Reasoning: An approach. Kluwer Academic, 2000.
Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model checking with rich assertional languages. In Computer Aided Verification (CAV), LNCS 1254, 1997.
R.P. Kurshan and K. Mcmillan. A structural induction theorem for processes. Information and Computation, 117:1–11, 1995.
D. Lesens, N. Halbwachs, and P. Raymond. Automatic verification of parameterized linear networks of processes. In ACM SIGPLAN International Conference on Principles of Programming Languages (POPL), pages 346–357, 1997.
O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In ACM SIGPLAN International Conference on Principles of Programming Languages (POPL), 1985.
S. Owre, N. Shankar, and J. Rushby. PVS: A Prototype Verification System. In International Conference on Automated Deduction (CADE), 1992.
F. Pong and M. Dubois. A new approach for the verification of cache coherence protocols. IEEE Transacations on Parallel and Distributed Systems, 6(8), 1995.
J.P. Queille and J. Sifakis. Specification and verification of concurrent programs in CESAR. In International Symposium on Programming, LNCS 137, 1982.
A. Roychoudhury, K. Narayan Kumar, C. R. Ramakrishnan, I.V. Ramakrishnan, and S. A. Smolka. Verification of parameterized systems using logic program transformations. In International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS), LNCS 1785, pages 172–187, 2000.
A. Roychoudhury, K. Narayan Kumar, C.R. Ramakrishnan, and I.V. Ramakrishnan. A parameterized unfold/fold transformation framework for definite logic programs. In International Conference on Principles and Practice of Declarative Programming (PPDP), LNCS 1702, pages 396–413, 1999.
Abhik Roychoudhury. Program Transformations for Verifying Parameterized Systems. PhD thesis, State University of New York at Stony Brook, Available from http://www.cs.sunysb.edu/~abhik/papers , 2000
P. Wolper and V. Lovinfosse. Verifying properties of large sets of processes with network invariants. In LNCS 407, 1989.
XSB. The XSB logic programming system v2.2, 2000. Available for downloading from http://xsb.sourceforge.net/.
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
Roychoudhury, A., Ramakrishnan, I. (2001). Automated Inductive Verification of Parameterized Protocols?. 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_4
Download citation
DOI: https://doi.org/10.1007/3-540-44585-4_4
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