Skip to main content
Log in

Symmetry and partial order reduction techniques in model checking Rebeca

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

Rebeca is an actor-based language with formal semantics which is suitable for modeling concurrent and distributed systems and protocols. Due to its object model, partial order and symmetry detection and reduction techniques can be efficiently applied to dynamic Rebeca models. We present two approaches for detecting symmetry in Rebeca models: One that detects symmetry in the topology of inter-connections among objects and another one which exploits specific data structures to reflect internal symmetry in the internal structure of an object. The former approach is novel in that it does not require any input from the modeler and can deal with the dynamic changes of topology. This approach is potentially applicable to a wide range of modeling languages for distributed and reactive systems. We have also developed a model checking tool that implements all of the above-mentioned techniques. The evaluation results show significant improvements in model size and model-checking time.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abdulla, P.A., Jonsson, B., Kindahl, M., Peled, D.: A general approach to partial order reductions in symbolic verification (extended abstract). In: Hu, A.J., Vardi, M.Y. (eds.) [37], pp. 379–390 (1998)

  2. Agha, G.: The structure and semantics of actor languages. In: Proceedings of the REX Workshop, pp. 1–59 (1990)

  3. Alur, R., Brayton, R.K., Henzinger, T.A., Qadeer, S., Rajamani, S.K. (1997) Partial-order reduction in symbolic state space exploration. In: Grumberg, O. (ed.) Proceedings of Computer Aided Verification, 9th International Conference, CAV ’97, Haifa, Israel, June 22–25, LNCS, vol. 1254, pp. 340–351. Springer, Berlin (1997)

  4. Behjati, R., Sabouri, H., Razavi, N., Sirjani, M.: An effective approach for model checking SystemC designs. In: Proceedings of International Conference on Application of Concurrency to System Design (ACSD’08), pp. 56–61 (2008)

  5. Bosnacki, D.: A light-weight algorithm for model checking with symmetry reduction and weak fairness. In: Ball, T., Rajamani, S.K. (eds.) Proceedings of Model Checking Software, 10th International SPIN Workshop. Portland, OR, USA, May 9–10, LNCS, vol. 2648, pp. 89–103. Springer, Berlin (2003)

  6. Bosnacki, D., Dams, D., Holenderski, L.: A heuristic for symmetry reductions with scalarsets. In: Proceedings of the International Symposium of Formal Methods Europe (FM’01), Lecture Notes in Computer Science, vol. 2021, pp. 518–533. Springer, Berlin (2001)

  7. Bosnacki D., Dams D., Holenderski L.: Symmetric SPIN. Int. J. Softw. Tools Technol. Transf. (STTT) 4(1), 92–106 (2002)

    Article  Google Scholar 

  8. Bosnacki, D., Donaldson, A.F., Leuschel, M., Massart, T.: Efficient approximate verification of promela models via symmetry markers. In: Proceedings of the 5th International Symposium on Automated Technology for Verification and Analysis (ATVA’07), Lecture Notes in Computer Science, vol. 4762, pp. 300–315. Springer, Berlin (2007)

  9. Bosnacki, D., Edelkamp, S. (eds.): In: Proceedings of Model Checking Software, 14th International SPIN Workshop, Berlin, Germany, July 1–3, LNCS, vol. 4595. Springer, Berlin (2007)

  10. Chang, P.H., Agha, G.: Supporting reconfigurable object distribution for customized web applications. In: The 22nd Annual ACM Symposium on Applied Computing (SAC), pp. 1286–1292 (2007)

  11. Chang, P.H., Agha, G.: Towards context-aware web applications. In: 7th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS), pp. 239–252 (2007)

  12. Cheong, E., Lee, E.A., Zhao, Y.: Viptos: a graphical development and simulation environment for tinyos-based wireless sensor networks. In: Proceedings of the 3rd International Conference on Embedded Networked Sensor Systems, SenSys 2005, pp. 302–302 (2005)

  13. Clarke, E.M., Emerson, E.A., Jha, S., Sistla, A.P.: Symmetry reductions in model checking. In: Hu, A.J., Vardi, M.Y. (eds.) [37], pp. 147–158 (1986)

  14. Clarke E.M., Grumberg O., Peled D.A.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  15. Clarke E.M., Jha S., Enders R., Filkorn T.: Exploiting symmetry in temporal logic model checking. Formal Methods Syst. Des. 9(1/2), 77–104 (1996)

    Article  Google Scholar 

  16. Clarke, E.M., Kurshan, R.P. (eds.): In: Proceedings of Computer Aided Verification, 2nd International Workshop, CAV ’90, New Brunswick, NJ, USA, June 18–21, LNCS, vol. 531. Springer, Berlin (1990)

  17. Donaldson, A.F., Miller, A.: Automatic symmetry detection for model checking using computational group theory. In: Proceedings of the International Symposium of Formal Methods Europe (FM’05), Lecture Notes in Computer Science, vol. 3582, pp. 481–496. Springer, Berlin (2005)

  18. Donaldson A.F., Miller A.: Extending symmetry reduction techniques to a realistic model of computation. Electron. Notes Theor. Comput. Sci. 185, 63–76 (2007)

    Article  Google Scholar 

  19. Donaldson A.F., Miller A., Calder M.: Finding symmetry in models of concurrent systems by static channel diagram analysis. Electron. Notes Theor. Comput. Sci. 128(6), 161–177 (2005)

    Article  Google Scholar 

  20. Donaldson A.F., Miller A., Calder M.: Spin-to-Grape: A tool for analysing symmetry in Promela models. Electron. Notes Theor. Comput. Sci. 139(1), 3–23 (2005)

    Article  Google Scholar 

  21. Emerson E., Sistla A.: Symmetry and model checking. Formal Methods Syst. Des. 9(1–2), 105–131 (1996)

    Article  Google Scholar 

  22. Emerson, E.A., Jha, S., Peled, D.: Combining partial order and symmetry reductions. In: Brinksma, E. (ed.) Proceedings of Tools and Algorithms for Construction and Analysis of Systems, Third International Workshop, TACAS ’97, Enschede, The Netherlands, April 2–4, LNCS, vol. 1217, pp. 19–34. Springer, Berlin (1997)

  23. Emerson, E.A., Sistla, A.P.: Utilizing symmetry when model checking under fairness assumptions: An automata-theoretic approach. In: Wolper, P. (ed.) Proceedings of Computer Aided Verification, 7th International Conference, Liege, Belgium, July, 3–5, LNCS, vol. 939, pp. 309–324. Springer, Berlin (1995)

  24. Emerson, E.A., Wahl, T.: On combining symmetry reduction and symbolic representation for efficient model checking. In: Geist, D., Tronci, E. (eds.) Proceedings of the 12th IFIP WG 10.5 Advanced Research Working Conference, CHARME ’03, LNCS, vol. 2860, pp. 216–230. Springer, Berlin (2003)

  25. Evangelista, S., Pajault, C.: Some solutions to the ignoring problem. In: Bosnacki, D., Edelkamp, S. (eds.) [9], pp. 76–94 (2007)

  26. Flanagan, C., Godefroid, P.: Dynamic partial-order reduction for model checking software. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 110–121. ACM Press, New York (2005)

  27. Godefroid, P.: Using partial orders to improve automatic verification methods. In: Clarke, E.M., Kurshan, R.P. (eds.) [16], pp. 176–185 (1996)

  28. Gueta, G., Flanagan, C., Yahav, E., Sagiv, M.: Cartesian partial-order reduction. In: Bosnacki, D., Edelkamp, S. (eds.) [9], pp. 95–112 (2009)

  29. Hendriks, M., Behrmann, G., Larsen, K.G., Niebert, P., Vaandrager, F.W.: Adding symmetry reduction to UPPAAL. In: Larsen, K.G., Niebert, P. (eds.) Proceedings of Formal Modeling and Analysis of Timed Systems: First International Workshop, FORMATS ’03, Marseille, France, September 6–7, LNCS, vol. 2791, pp. 46–59. Springer, Berlin (2003)

  30. Herstein, I.: Topics in Algebra. Xerox (1964)

  31. Hewitt, C.: Procedural embedding of knowledge in planner. In: Proceedings of the 2nd International Joint Conference on Artificial Intelligence, pp. 167–184 (1971)

  32. Hewitt, C.: What is commitment? physical, organizational, and social (revised). In: Proceedings of Coordination, Organizations, Institutions, and Norms in Agent Systems II, Lecture Notes in Computer Science, pp. 293–307. Springer, Berlin (2007)

  33. Hojjat, H., Nokhost, H., Sirjani, M.: Formal verification of the IEEE 802.1D spanning tree protocol using extended Rebeca. In: Proceedings of the First International Conference on Fundamentals of Software Engineering (FSEN’05), ENTCS, vol. 159, pp. 139–159. Elsevier, Amsterdam (2006)

  34. Holzmann G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  35. Holzmann, G.J., Peled, D.: An improvement in formal verification. In: Hogrefe, D. Leue, S. (eds.) Proceedings of the 7th IFIP WG6.1 International Conference on Formal Description Techniques, vol. 6, pp. 197–211. Chapman & Hall, London (1995)

  36. Holzmann, G.J., Peled, D., Yannakakis, M.: On nested depth first search. In: Proceedings of the Second SPIN Workshop, pp. 23–32. American Mathematical Society, Providence, RI (1996)

  37. Hu, A.J., Vardi, M.Y. (eds.): In: Proceedings of Computer Aided Verification, 10th International Conference, CAV ’98, Vancouver, BC, Canada, June 28–July 2, LNCS, vol. 1427. Springer, Berlin (1998)

  38. Iosif, R.: Symmetry reduction criteria for software model checking. In: Bosnacki, D. Leue S. (eds.) Proceedings of Model Checking of Software, 9th International SPIN Workshop, Grenoble, France, April 11–13, LNCS, vol. 2318, pp. 22–41. Springer, Berlin (2002)

  39. Ip C., Dill D.: Better verification through symmetry. Formal Methods Syst. Des. 9(1–2), 41–75 (1996)

    Google Scholar 

  40. Ip, C.N.: State reduction methods for automatic formal verification. Ph.D. Thesis, Department of Computer Science, Stanford University (1996)

  41. Jaghoori, M.M., Movaghar, A., Sirjani, M.: Modere: the model-checking engine of Rebeca. In: Haddad, H. (ed.) Proceedings of ACM Symposium on Applied Computing (SAC ’06), Dijon, France, April 23–27, pp. 1810–1815. ACM, New york (2006)

  42. Jaghoori, M.M., Sirjani, M., Mousavi, M.R., Movaghar, A.: Efficient symmetry reduction for an actor-based model. In: Chakraborty, G. (ed.) Proceedings of Distributed Computing and Internet Technology, Second International Conference, ICDCIT ’05, Bhubaneswar, India, December 22–24, LNCS, vol. 3816, pp. 494–507. Springer, Berlin (2005)

  43. Kakoee, M.R., Shojaei, H., Ghasemzadeh, H., Sirjani, M., Navabi, Z.: A new approach for design and verification of transaction level models. In: Proceedings of IEEE International Symposium on Circuit and Sytems (ISCAS ’07), pp. 3760–3763 (2007)

  44. Kurshan, R.P., Levin, V., Minea, M., Peled, D., Yenigün, H.: Static partial order reduction. In: Steffen, B. (ed.) Proceedings of Tools and Algorithms for Construction and Analysis of Systems, 4th International Conference, TACAS ’98, Lisbon, Portugal, March 28–April 4, LNCS, vol. 1384, pp. 345–357. Springer, Berlin (1998)

  45. Lee E.A., Neuendorffer S., Wirthlin M.J.: Actor-oriented design of embedded hardware and software systems. J. Circuits, Syst., Comput. 12(3), 231–260 (2003)

    Article  Google Scholar 

  46. Leuschel, M., Massart, T.: Efficient approximate verification of B via symmetry markers. In: Proceedings of the International Symmetry Conference, Edinburgh, UK, pp. 71v–85 (2007)

  47. McMillan K.: Symbolic Model Checking. Kluwer Academic, Boston (1993)

    MATH  Google Scholar 

  48. Miller, A., Donaldson, A.F., Calder, M.: Symmetry in temporal logic model checking. ACM Comput. Surv. 38(3), Article no. 8 (2006)

    Google Scholar 

  49. Nalumasu R., Gopalakrishnan G.: An efficient partial order reduction algorithm with an alternate proviso implementation. Formal Methods Syst. Des. 20(3), 231–247 (2002)

    Article  MATH  Google Scholar 

  50. Peled, D.: All from one, one for all: on model checking using representatives. In: Courcoubetis, C. (ed.) CAV, LNCS, vol. 697, pp. 409–423. Springer, Berlin (1993)

  51. Saboori, H., Sirjani, M.: Slicing-based reductions for Rebeca. In: Proceedings of FACS’08, ENTCS, pp. 57–71. Elsevier, Amsterdam (2008). To be published

  52. Saïdi, H.: Discovering symmetries. In: 11th International Workshop on Formal Methods: Applications and Technology (FMICS/PDMC’06), LNCS, vol. 4346, pp. 67–83. Springer, Berlin (2006)

  53. Schneider, S.: The B-Method: An Introduction. Palgrave (2001)

  54. Shahriari, H.R., Makarem, M.S., Sirjani, M., Jalili, R., Movaghar, A.: Modeling and verification of complex network attacks using an actor-based language. In: Proceedings of the 11th Annual International CSI Computer Conference, pp. 152–158 (2006)

  55. Sirjani M., Movaghar A., Shali A., de Boer F.S.: Modeling and verification of reactive systems using Rebeca. Fundamamenta Informaticae 63(4), 385–410 (2004)

    Google Scholar 

  56. Sirjani M., Movaghar A., Shali A., de Boer F.S.: Model checking, automated abstraction and compositional verification of Rebeca models. J Univers. Comput. Sci. (JUCS) 11(6), 1054–1082 (2005)

    Google Scholar 

  57. Sirjani M., SeyedRazi H., Movaghar A., Jaghoori M.M., Forghanizadeh S., Mojdeh M.: Model checking CSMA/CD protocol using an actor-based language. WSEAS Trans. Circuits Syst. 3(4), 1052–1057 (2004)

    Google Scholar 

  58. Sirjani, M., Shali, A., Jaghoori, M.M., Iravanchi, H., Movaghar, A.: A front-end tool for automated abstraction and modular verification of actor-based models. In: Proceedings of International Conference on Application of Concurrency to System Design (ACSD ’04), pp. 145–150. IEEE Computer Society, Silver Spring (2004)

  59. Sistla A.P., Gyuris V., Emerson E.A.: SMC: a symmetry-based model checker for verification of safety and liveness properties. ACM Trans. Softw. Eng. Methodol. 9(2), 133–166 (2000)

    Article  Google Scholar 

  60. Valmari, A.: A stubborn attack on state explosion. In: Clarke, E.M., Kurshan R.P. (eds.) [16], pp. 156–165 (1996)

  61. Vardi, M.Y.: Automata-theoretic model checking revisited. In: Proceedings of the 8th VMCAI, LNAI, vol. 4349, pp. 137–150 (2007)

  62. Vardi, M.Y., Wolper, P.: An automata theoretic approach to automatic program verification. In: Kozen, D. (ed.) Proceedings of Symposium on Logic in Computer Science, pp. 322–331. IEEE Computer Society, Silver Spring (1986)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Mahdi Jaghoori.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jaghoori, M.M., Sirjani, M., Mousavi, M.R. et al. Symmetry and partial order reduction techniques in model checking Rebeca. Acta Informatica 47, 33–66 (2010). https://doi.org/10.1007/s00236-009-0111-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-009-0111-x

Keywords

Navigation