Automated Circular Assume-Guarantee Reasoning with N-way Decomposition and Alphabet Refinement

  • Karam Abd ElkaderEmail author
  • Orna Grumberg
  • Corina S. Păsăreanu
  • Sharon Shoham
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9779)


In this work we develop an automated circular reasoning framework that is applicable to systems decomposed into multiple components. Our framework uses a family of circular assume-guarantee rules for which we give conditions for soundness and completeness. The assumptions used in the rules are initially approximate and their alphabets are automatically refined based on the counterexamples obtained from model checking the rule premises. A key feature of the framework is that the compositional rules that are used change dynamically with each iteration of the alphabet refinement, to only use assumptions that are relevant for the current alphabet, resulting in a smaller number of assumptions and smaller state spaces to analyze for each premise. Our preliminary evaluation of the proposed approach shows promising results compared to 2-way and monolithic verification.


Model Check Label Transition System Verification Task Abstract System Circular Reasoning 
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.



We thank the reviewers for their detailed and helpful comments. This work was funded in part by the National Science Foundation (NSF Grant No. CSF-1329278) and the Binational Science Foundation (BSF Grant No. 2012259). Shoham was supported by the European Research Council under the European Union’s Seventh Framework Program (FP7/2007–2013)/ERC grant agreement no. [321174-VSSC].


  1. 1.
    Alur, R., Henzinger, T.A.: Reactive modules. Formal Methods Syst. Des. 15(1), 7–48 (1999)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Alur, R., Madhusudan, P., Nam, W.: Symbolic compositional verification by learning assumptions. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 548–562. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Gheorghiu Bobaru, M., Păsăreanu, C.S., Giannakopoulou, D.: Automated assume-guarantee reasoning by abstraction refinement. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 135–148. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Chaki, S., Clarke, E., Sinha, N., Thati, P.: Automated assume-guarantee reasoning for simulation conformance. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 534–547. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Chen, Y.-F., Clarke, E.M., Farzan, A., Tsai, M.-H., Tsay, Y.-K., Wang, B.-Y.: Automated assume-guarantee reasoning through implicit learning. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 511–526. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Chen, Y.-F., Farzan, A., Clarke, E.M., Tsay, Y.-K., Wang, B.-Y.: Learning minimal separating DFA’s for compositional verification. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 31–45. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  8. 8.
    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
  9. 9.
    Een, N., Sörensson, N.: The minisat.
  10. 10.
    Elkader, K.A., Grumberg, O., Păsăreanu, C.S., Shoham, S.: Automated circular assume-guarantee reasoning. In: Bjørner, N., de Boer, F. (eds.) FM 2015. LNCS, vol. 9109, pp. 23–39. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  11. 11.
    Gheorghiu, M.D., Giannakopoulou, D., Păsăreanu, C.S.: Refining interface alphabets for compositional verification. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 292–307. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Gupta, A., McMillan, K.L., Fu, Z.: Automated assumption generation for compositional verification. Formal Methods Syst. Des. 32(3), 285–301 (2008)CrossRefzbMATHGoogle Scholar
  13. 13.
    Henzinger, T.A., Liu, X., Qadeer, S., Rajamani, S.K.: Formal specification and verification of a dataflow processor array. In: ICCAD, pp. 494–499 (1999)Google Scholar
  14. 14.
    Henzinger, T.A., Qadeer, S., Rajamani, S.K.: You assume, we guarantee: methodology and case studies. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 440–451. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  15. 15.
    Henzinger, T.A., Qadeer, S., Rajamani, S.K., Taşıran, S.: An assume-guarantee rule for checking simulation. In: Gopalakrishnan, G.C., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 421–431. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  16. 16.
    Li, B., Dillig, I., Dillig, T., McMillan, K., Sagiv, M.: Synthesis of circular compositional program proofs via abduction. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 370–384. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  17. 17.
    Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, New York (1999)zbMATHGoogle Scholar
  18. 18.
    McMillan, K.L.: Verification of an implementation of Tomasulo’s algorithm by compositional model checking. In: Hu, A.J., Vardi, M.Y. (eds.) CAV 1998. LNCS, vol. 1427, pp. 110–121. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    McMillan, K.L.: Circular compositional reasoning about liveness. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 342–346. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    McMillan, K.L.: Verification of infinite state systems by compositional model checking. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 219–237. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  21. 21.
    Misra, J., Chandy, K.M.: Proofs of networks of processes. IEEE Trans. Softw. Eng. 7(4), 417–426 (1981)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Namjoshi, K.S., Trefler, R.J.: On the completeness of compositional reasoning. In: Allen Emerson, E., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 139–153. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  23. 23.
    Pasareanu, C.S., Giannakopoulou, D., Bobaru, M.G., Cobleigh, J.M., Barringer, H.: Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning. Formal Methods Syst. Des. 32(3), 175–205 (2008)CrossRefzbMATHGoogle Scholar
  24. 24.
    Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Logics and Models of Concurrent Systems. NATO ASI Series (1985)Google Scholar
  25. 25.
    Rushby, J.: Formal verification of mcmillan’s compositional assume-guarantee rule. CSL Technical report, SRI (2001)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Karam Abd Elkader
    • 1
    Email author
  • Orna Grumberg
    • 1
  • Corina S. Păsăreanu
    • 2
  • Sharon Shoham
    • 3
  1. 1.Technion – Israel Institute of TechnologyHaifaIsrael
  2. 2.CMU/NASA Ames Research CenterMountain ViewUSA
  3. 3.Tel Aviv UniversityTel AvivIsrael

Personalised recommendations