Abstract
We introduce the (0, 1, ∞) -counter abstraction method by which a parameterized system of unbounded size is abstracted into a finite-state system. Assuming that each process in the parameterized system is finite-state, the abstract variables are limited counters which count, for each local states of a process, the number of processes which currently are in local state s. The counters are saturated at 2, which means that κ(s) = 2 whenever 2 or more processes are at state s. The emphasis of the paper is on the derivation of an adequate and sound set of fairness requirements (both weak and strong) that enable proofs of liveness properties of the abstract system, from which we can safely conclude a corresponding liveness property of the original parameterized system. We illustrate the method on few parameterized systems, including Szymanski’s Algorithm for mutual exclusion. The method is also extended to deal with parameterized systems whose processes may have infinitely many local states, such as the Bakery Algorithm, by choosing few “interesting” state assertions and (0, 1, ∞)-counting the number of processes satisfying them.
This research was supported in part by the Minerva Center for Verification of Reactive Systems, a gift from Intel, the European Community IST project “Advance”, and ONR grant N00014-99-1-0131.
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
K. R. Apt and D. Kozen. Limits for automatic program verification of finite-state concurrent systems. IPL, 22(6), 1986.
T. Arons, A. Pnueli, S. Ruah, J. Xu, and L. Zuck. Parameterized verification with automatically computed inductive assertions. In CAV’01, pages 221–234, 2001.
K. Baukus, Y. Lakhnesche, and K. Stahl. Verification of parameterized protocols. Journal of Universal Computer Science, 7(2):141–158, 2001.
N. Bjørner, I. Browne, and Z. Manna. Automatic generation of invariants and intermediate assertions. In 1st Intl. Conf. on Principles and Practice of Constraint Programming, volume 976 of LNCS, pages 589–623. Springer-Verlag, 1995.
E. Clarke, O. Grumberg, and S. Jha. Verifying parametrized networks using abstraction and regular languages. In CONCUR’95, pages 395–407, 1995.
P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL’ 77. ACM Press, 1977.
E. Emerson and V. Kahlon. Reducing model checking of the many to the few. In 17th International Conference on Automated Deduction (CADE-17), pages 236–255, 2000.
E. A. Emerson and K. S. Namjoshi. Reasoning about rings. In POPL’95, 1995.
E. Gribomont and G. Zenner. Automated verification of szymanski’s algorithm. In B. Steffen, editor, TACAS’98, pages 424–438, 1998.
V. Gyuris and A. P. Sistla. On-the-fly model checking under fairness that exploits symmetry. In CAV’97, 1997.
J. Henriksen, J. Jensen, M. Jørgensen, N. Klarlund, B. Paige, T. Rauhe, and A. Sandholm. Mona: Monadic second-order logic in practice. In TACAS’95, 1995.
B. Jonsson and M. Nilsson. Transitive closures of regular relations for verifying infinite-state systems. In TACAS’00, 2000.
Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model checking with rich assertional languages. In CAV’97, pages 424–435, 1997.
Y. Kesten and A. Pnueli. Control and data abstractions: The cornerstones of practical formal verification. Software Tools for Technology Transfer, 4(2):328–342, 2000.
D. Lesens, N. Halbwachs, and P. Raymond. Automatic verification of parameterized linear networks of processes. In POPL’ 97, Paris, 1997.
O. Lichtenstein and A. Pnueli. Checking that finite-state concurrent programs satisfy their linear specification. In POPL’85, pages 97–107, 1985.
B.D. Lubachevsky. An approach to automating the verification of compact parallel coordination programs. Acta Infromatica, 21, 1984.
Z. Manna, A. Anuchitanukul, N. Bjørner, A. Browne, E. Chang, M. Colón, L. D. Alfaro, H. Devarajan, H. Sipma, and T. Uribe. STeP: The Stanford Temporal Prover. Technical Report STAN-CS-TR-94-1518, Dept. of Comp. Sci., Stanford University, Stanford, California, 1994.
Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer-Verlag, New York, 1995.
K. McMillan. Verification of an implementation of Tomasulo’s algorithm by compositional model checking. In CAV’98, pages 110–121, 1998.
A. Pnueli and E. Shahar. A platform for combining deductive with algorithmic verification. In CAV’96, pages 184–195, 1996.
F. Pong and M. Dubois. A new approach for the verification of cache coherence protocols. IEEE Transactions on Parallel and Distributed Systems, 6(8):773–787, Aug. 1995.
B. K. Szymanski. A simple solution to Lamport’s concurrent programming problem with linear wait. In Proc. 1988 International Conference on Supercomputing Systems, pages 621–626, St. Malo, France, 1988.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pnueli, A., Xu, J., Zuck, L. (2002). Liveness with (0,1, ∞)- Counter Abstraction. In: Brinksma, E., Larsen, K.G. (eds) Computer Aided Verification. CAV 2002. Lecture Notes in Computer Science, vol 2404. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45657-0_9
Download citation
DOI: https://doi.org/10.1007/3-540-45657-0_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43997-4
Online ISBN: 978-3-540-45657-5
eBook Packages: Springer Book Archive