Advertisement

Local Symmetry and Compositional Verification

  • Kedar S. Namjoshi
  • Richard J. Trefler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7148)

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.

Keywords

Model Check Global Symmetry Local Symmetry Balance Relation Symmetry Reduction 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Brown, R.: From groups to groupoids: A brief survey. Bull. London Math. Society 19, 113–134 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Chandy, K., Misra, J.: Proofs of networks of processes. IEEE Transactions on Software Engineering 7(4) (1981)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 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
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    Cohen, A., Namjoshi, K.S.: Local proofs for global safety properties. Formal Methods in System Design 34(2), 104–125 (2009)CrossRefzbMATHGoogle Scholar
  11. 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
  12. 12.
    Dijkstra, E., Scholten, C.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)CrossRefzbMATHGoogle Scholar
  13. 13.
    Emerson, E., Namjoshi, K.: Reasoning about rings. In: ACM Symposium on Principles of Programming Languages (1995)Google Scholar
  14. 14.
    Emerson, E., Sistla, A.: Symmetry and Model Checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697. Springer, Heidelberg (1993)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Golubitsky, M., Stewart, I.: Nonlinear dynamics of networks: the groupoid formalism. Bull. Amer. Math. Soc. 43, 305–364 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Gupta, A., Popeea, C., Rybalchenko, A.: Predicate abstraction and refinement for verifying multi-threaded programs. In: POPL. ACM (2011)Google Scholar
  18. 18.
    Ip, C.N., Dill, D.: Better verification through symmetry. Formal Methods in System Design 9(1/2) (1996)Google Scholar
  19. 19.
    Jones, C.: Tentative steps toward a development method for interfering programs. ACM Trans. on Programming Languages and Systems, TOPLAS (1983)Google Scholar
  20. 20.
    Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Software Eng. 3(2) (1977)Google Scholar
  21. 21.
    Lamport, L., Schneider, F.B.: The “Hoare Logic” of CSP, and All That. ACM Trans. Program. Lang. Syst. 6(2), 281–296 (1984)CrossRefzbMATHGoogle Scholar
  22. 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
  23. 23.
    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)CrossRefGoogle Scholar
  24. 24.
    Namjoshi, K.S., Trefler, R.J.: On the completeness of compositional reasoning methods. ACM Trans. Comput. Logic 11, 16:1–16:22 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Owicki, S.S., Gries, D.: Verifying properties of parallel programs: An axiomatic approach. Commun. ACM 19(5), 279–285 (1976)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Weinstein, A.: Groupoids: Unifying internal and external symmetry-a tour through some examples. Notices of the AMS (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Kedar S. Namjoshi
    • 1
  • Richard J. Trefler
    • 2
  1. 1.Bell Laboratories, Alcatel-LucentIreland
  2. 2.University of WaterlooCanada

Personalised recommendations