Local Symmetry and Compositional Verification
This work considers concurrent programs formed of processes connected by an underlying network. The symmetries of the network may be used to reduce the state space of the program, by grouping together similar global states. This can result in an exponential reduction for highly symmetric networks, but it is much less effective for many networks, such as rings, which have limited global symmetry. We focus instead on the local symmetries in a network and show that they can be used to significantly reduce the complexity of compositional reasoning. Local symmetries are represented by a symmetry groupoid, a generalization of a symmetry group. Certain sub-groupoids induce quotient networks which are equivalent to the original for the purposes of compositional reasoning. We formulate a compositional reasoning principle for safety properties of process networks and define symmetry groupoids and the quotient construction. Moreover, we show how symmetry and local reasoning can be expoited to provide parameterized proofs of correctness.
KeywordsModel Check Global Symmetry Local Symmetry Balance Relation Symmetry Reduction
Unable to display preview. Download preview PDF.
- 4.Chandy, K., Misra, J.: Proofs of networks of processes. IEEE Transactions on Software Engineering 7(4) (1981)Google Scholar
- 6.Clarke, E.M., Filkorn, T., Jha, S.: Exploiting Symmetry in Temporal Logic Model Checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)Google Scholar
- 11.de Roever, W.-P., de Boer, F., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Proof Methods. Cambridge University Press (2001)Google Scholar
- 13.Emerson, E., Namjoshi, K.: Reasoning about rings. In: ACM Symposium on Principles of Programming Languages (1995)Google Scholar
- 14.Emerson, E., Sistla, A.: Symmetry and Model Checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)Google Scholar
- 17.Gupta, A., Popeea, C., Rybalchenko, A.: Predicate abstraction and refinement for verifying multi-threaded programs. In: POPL. ACM (2011)Google Scholar
- 18.Ip, C.N., Dill, D.: Better verification through symmetry. Formal Methods in System Design 9(1/2) (1996)Google Scholar
- 19.Jones, C.: Tentative steps toward a development method for interfering programs. ACM Trans. on Programming Languages and Systems, TOPLAS (1983)Google Scholar
- 20.Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Software Eng. 3(2) (1977)Google Scholar
- 22.Moon, I.-H., Kukula, J.H., Shiple, T.R., Somenzi, F.: Least fixpoint approximations for reachability analysis. In: ICCAD, pp. 41–44 (1999)Google Scholar
- 26.Weinstein, A.: Groupoids: Unifying internal and external symmetry-a tour through some examples. Notices of the AMS (1996)Google Scholar