Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Amla, N., Emerson, E.A., Namjoshi, K.S., Trefler, R.J.: Visual Specifications for Modular Reasoning About Asynchronous Systems. In: Peled, D.A., Vardi, M.Y. (eds.) FORTE 2002. LNCS, vol. 2529, pp. 226–242. Springer, Heidelberg (2002)
Arons, T., Pnueli, A., Ruah, S., Xu, J., Zuck, L.D.: Parameterized Verification with Automatically Computed Inductive Assertions. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 221–234. Springer, Heidelberg (2001)
Brown, R.: From groups to groupoids: A brief survey. Bull. London Math. Society 19, 113–134 (1987)
Chandy, K., Misra, J.: Proofs of networks of processes. IEEE Transactions on Software Engineering 7(4) (1981)
Cho, H., Hachtel, G.D., Macii, E., Plessier, B., Somenzi, F.: Algorithms for approximate FSM traversal based on state space decomposition. IEEE Trans. on CAD of Integrated Circuits and Systems 15(12), 1465–1478 (1996)
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)
Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning Assumptions for Compositional Verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)
Cohen, A., Namjoshi, K.S.: Local Proofs for Global Safety Properties. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 55–67. Springer, Heidelberg (2007)
Cohen, A., Namjoshi, K.S.: Local Proofs for Linear-Time Properties of Concurrent Programs. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 149–161. Springer, Heidelberg (2008)
Cohen, A., Namjoshi, K.S.: Local proofs for global safety properties. Formal Methods in System Design 34(2), 104–125 (2009)
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)
Dijkstra, E., Scholten, C.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)
Emerson, E., Namjoshi, K.: Reasoning about rings. In: ACM Symposium on Principles of Programming Languages (1995)
Emerson, E., Sistla, A.: Symmetry and Model Checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)
Flanagan, C., Qadeer, S.: Thread-Modular Model Checking. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 213–224. Springer, Heidelberg (2003)
Golubitsky, M., Stewart, I.: Nonlinear dynamics of networks: the groupoid formalism. Bull. Amer. Math. Soc. 43, 305–364 (2006)
Gupta, A., Popeea, C., Rybalchenko, A.: Predicate abstraction and refinement for verifying multi-threaded programs. In: POPL. ACM (2011)
Ip, C.N., Dill, D.: Better verification through symmetry. Formal Methods in System Design 9(1/2) (1996)
Jones, C.: Tentative steps toward a development method for interfering programs. ACM Trans. on Programming Languages and Systems, TOPLAS (1983)
Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Software Eng. 3(2) (1977)
Lamport, L., Schneider, F.B.: The “Hoare Logic” of CSP, and All That. ACM Trans. Program. Lang. Syst. 6(2), 281–296 (1984)
Moon, I.-H., Kukula, J.H., Shiple, T.R., Somenzi, F.: Least fixpoint approximations for reachability analysis. In: ICCAD, pp. 41–44 (1999)
Namjoshi, K.S.: Symmetry and Completeness in the Analysis of Parameterized Systems. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 299–313. Springer, Heidelberg (2007)
Namjoshi, K.S., Trefler, R.J.: On the completeness of compositional reasoning methods. ACM Trans. Comput. Logic 11, 16:1–16:22 (2010)
Owicki, S.S., Gries, D.: Verifying properties of parallel programs: An axiomatic approach. Commun. ACM 19(5), 279–285 (1976)
Weinstein, A.: Groupoids: Unifying internal and external symmetry-a tour through some examples. Notices of the AMS (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Namjoshi, K.S., Trefler, R.J. (2012). Local Symmetry and Compositional Verification. In: Kuncak, V., Rybalchenko, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2012. Lecture Notes in Computer Science, vol 7148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27940-9_23
Download citation
DOI: https://doi.org/10.1007/978-3-642-27940-9_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-27939-3
Online ISBN: 978-3-642-27940-9
eBook Packages: Computer ScienceComputer Science (R0)