# Handling Global Conditions in Parametrized System Verification

## Abstract

We consider symbolic verification for a class of parameterized systems, where a system consists of a linear array of processes, and where an action of a process may in general be guarded by both *local conditions* restricting the state of the process about to perform the action, and *global conditions* defining the *context* in which the action is enabled. Such actions are present, e.g., in idealized versions of mutual exclusion protocols, such as the bakery and ticket algorithms by Lamport, Burn’s protocol, Dijkstra’s algorithm, and Szymanski’s algorithm. The presence of both local and global conditions makes the parameterized versions of these protocols infeasible to analyze fully automatically, using existing model checking methods for parameterized systems. In all these methods the actions are guarded only by local conditions involving the states of a finite set of processes.

We perform verification using a standard symbolic reachability algorithm enhanced by an operation to accelerate the search of the state space. The acceleration operation computes the effect of an arbitrary number of applications of an action, rather than a single application. This is crucial for convergence of the analysis e.g. when applying the algorithm to the above protocols.

We illustrate the use of our method through an application to Szymanski’s algorithm.

## References

- [ABJ98]Parosh Aziz Abdulla, Ahmed Bouajjani, and Bengt Jonsson. On-the-fly analysis of systems with unbounded, lossy fifo channels. In
*Proc. 10th Int. Conf. on Computer Aided Verification*, volume 1427 of*Lecture Notes in Computer Science*, pages 305–318, 1998.CrossRefMathSciNetGoogle Scholar - [ACD90]R. Alur, C. Courcoubetis, and D. Dill. Model-checking for real-time systems. In
*Proc. 5th IEEE Int. Symp. on Logic in Computer Science*, pages 414–425, Philadelphia, 1990.Google Scholar - [AJ96]Parosh Aziz Abdulla and Bengt Jonsson. Verifying programs with unreliable channels.
*Information and Computation*, 127(2):91–101, 1996.MATHCrossRefMathSciNetGoogle Scholar - [AJ98]Parosh Aziz Abdulla and Bengt Jonsson. Verifying networks of timed processes. In Bernhard Steffen, editor,
*Proc. TACAS’ 98, 7th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems*, volume 1384 of*Lecture Notes in Computer Science*, pages 298–312, 1998.Google Scholar - [BG96]B. Boigelot and P. Godefroid. Symbolic verification of communication protocols with infinite state spaces using QDDs. In Alur and Henzinger, editors,
*Proc. 8th Int. Conf. on Computer Aided Verification*, volume 1102 of*Lecture Notes in Computer Science*, pages 1–12. Springer Verlag, 1996.Google Scholar - [BGWW97]B. Boigelot, P. Godefroid, B. Willems, and P. Wolper. The power of QDDs. In
*Proc. of the Fourth International Static Analysis Symposium*, Lecture Notes in Computer Science. Springer Verlag, 1997.Google Scholar - [BH97]A. Bouajjani and P. Habermehl. Symbolic reachability analysis of fifochannel systems with nonregular sets of configurations. In
*Proc. ICALP’ 97*, number 1256 in Lecture Notes in Computer Science, 1997.Google Scholar - [BS95]O. Burkart and B. Steffen. Composition, decomposition, and model checking of pushdown processes.
*Nordic Journal of Computing*, 2(2):89–125, 1995.MATHMathSciNetGoogle Scholar - [Čer94]K. Čerāns. Deciding properties of integral relational automata. In Abiteboul and Shamir, editors,
*Proc. ICALP’ 94*, volume 820 of*Lecture Notes in Computer Science*, pages 35–46. Springer Verlag, 1994.Google Scholar - [CGJ95]E. M. Clarke, O. Grumberg, and S. Jha. Verifying parameterized networks using abstraction and regular languages. In Lee and Smolka, editors,
*Proc. CONCUR’ 95, 6th Int. Conf. on Concurrency Theory*, volume 962 of*Lecture Notes in Computer Science*, pages 395–407. Springer Verlag, 1995.Google Scholar - [Esp95]J. Esparza. Petri nets, commutative context-free grammers, and basic parallel processes. In
*Proc. Fundementals of Computation Theory*, number 965 in Lecture Notes in Computer Science, pages 221–232, 1995.Google Scholar - [GS92]S. M. German and A. P. Sistla. Reasoning about systems with many processes.
*Journal of the ACM*, 39(3):675–735, 1992.MATHCrossRefMathSciNetGoogle Scholar - [GZ98]E.P. Gribomont and G. Zenner. Automated verification of Szymanski’s algorithm. In
*Proc. TACAS’ 98, 7th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems*, number 1384 in Lecture Notes in Computer Science, pages 424–438, 1998.CrossRefGoogle Scholar - [Jan90]P. Jan_car. Decidability of a temporal logic problem for Petri nets.
*Theoretical Computer Science*, 74:71–93, 1990.CrossRefMathSciNetGoogle Scholar - [JL98]E. Jensen and N. A. Lynch. A proof of Burn’s n-process mutual exclusion algorithm using abstraction. In
*Proc. TACAS’ 98, 7th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems*, number 1384 in Lecture Notes in Computer Science, pages 409–423, 1998.CrossRefGoogle Scholar - [KM89]R.P. Kurshan and K. McMillan. A structural induction theorem for processes. In
*Proc. 8th ACM Symp. on Principles of Distributed Computing, Canada*, pages 239–247, Edmonton, Alberta, 1989.Google Scholar - [KMM
^{+}97]_ Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model checking with rich assertional languages. In O. Grumberg, editor,*Proc. 9th Int. Conf. on Computer Aided Verification*, volume 1254, pages 424–435, Haifa, Israel, 1997. Springer Verlag.Google Scholar - [MAB
^{+}94]_ Z. Manna, A. Anuchitanukul, N. Bjørner, A. Browne, E. chang, M. Col_on, L. de Alfaro, H. Devarajan, H. Sipma, and T. Uribe. STEP: the stanfor temporal prover. Draft Manuscript, June 1994.Google Scholar - [MP90]Z. Manna and A. Pnueli. An exercise in the verification of multi-process programs. In W.H.J. Feijen, A.J.M van Gasteren, D. Gries, and J. Misra, editors,
*Beauty is Our Business*, pages 289–301. Springer-Verlag, 1990.Google Scholar - [WL89]P. Wolper and V. Lovinfosse. Verifying properties of large sets of processes with network invariants (extended abstract). In Sifakis, editor,
*Proc. Workshop on Computer Aided Verification*, number 407 in Lecture Notes in Computer Science, pages 68–80, 1989.Google Scholar - [Wol86]Pierre Wolper. Expressing interesting properties of programs in propositional temporal logic (extended abstract). In
*Proc. 13th ACM Symp. on Principles of Programming Languages*, pages 184–193, Jan. 1986.Google Scholar