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 proof technique, we have designed and
implemented an automated 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.