Learning-Based Symbolic Assume-Guarantee Reasoning with Automatic Decomposition

  • Wonhong Nam
  • Rajeev Alur
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4218)


Compositional reasoning aims to improve scalability of verification tools by reducing the original verification task into subproblems. The simplification is typically based on the assume-guarantee reasoning principles, and requires decomposing the system into components as well as identifying adequate environment assumptions for components. One recent approach to automatic derivation of adequate assumptions is based on the L * algorithm for active learning of regular languages. In this paper, we present a fully automatic approach to compositional reasoning by automating the decomposition step using an algorithm for hypergraph partitioning for balanced clustering of variables. We also propose heuristic improvements to the assumption identification phase. We report on an implementation based on NuSMV, and experiments that study the effectiveness of automatic decomposition and the overall savings in the computational requirements of symbolic model checking.


Regular Language Safety Property Symbolic Model Check Edge Deletion Membership Query 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Lamport, L.: Conjoining specifications. ACM TOPLAS 17, 507–534 (1995)CrossRefGoogle Scholar
  2. 2.
    Alur, R., Henzinger, T.A.: Reactive modules. Formal Methods in System Design 15(1), 7–48 (1996); A preliminary version appears in Proc. 11th LICS, 1996 CrossRefMathSciNetGoogle Scholar
  3. 3.
    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
  4. 4.
    Angluin, D.: Learning regular sets from queries and counterexamples. Information and Computation 75, 87–106 (1987)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Barringer, H., Pasareanu, C.S., Giannakopolou, D.: Proof rules for automated compositional verification through learning. In: Proc. 2nd SVCBS (2003)Google Scholar
  6. 6.
    Bryant, R.E.: Graph-based algorithms for boolean-function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)CrossRefGoogle Scholar
  7. 7.
    Cimatti, A., Clarke, E., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: NuSMV Version 2: An OpenSource Tool for Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Cobleigh, J.M., Avrunin, G.S., Clarke, L.A.: Breaking up is hard to do: an investigation of decomposition for assume-guarantee reasoning. Technical Report UM-CS-2004-023 (2005)Google Scholar
  9. 9.
    Cobleigh, J.M., Giannakopoulou, D., Pasareanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) ETAPS 2003 and TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Fiduccia, C.M., Mattheyses, R.M.: A linear time heuristic for improving network partitions. In: Proc. of 19th DAC, pp. 175–181 (1982)Google Scholar
  11. 11.
    Giannakopoulou, D., Pasareanu, C.S.: Learning-based assume-guarantee verification. In: Godefroid, P. (ed.) SPIN 2005. LNCS, vol. 3639, pp. 282–287. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Grümberg, O., Long, D.E.: Model checking and modular verification. ACM Transactions on Programming Languages and Systems 16(3), 843–871 (1994)CrossRefGoogle Scholar
  13. 13.
    Karypis, G., Aggarwal, R., Kumar, V., Shekhar, S.: Multilevel hypergraph partitioning: applications in VLSI domain. IEEE Trans. VLSI Systems 7(1), 69–79 (1999)CrossRefGoogle Scholar
  14. 14.
    Karypis, G., Kumar, V.: Multilevel k-way hypergraph partitioning. In: Proc. of 36th Design Automation Conference, pp. 343–348 (1999)Google Scholar
  15. 15.
    Kernighan, B.W., Lin, S.: An efficient heuristic procedure for partitioning graphs. The Bell System Technical Journal 49(2), 291–307 (1970)Google Scholar
  16. 16.
    McMillan, K.L.: A compositional rule for hardware design refinement. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 24–35. Springer, Heidelberg (1997)Google Scholar
  17. 17.
    Rivest, R.L., Schapire, R.E.: Inference of finite automata using homing sequences. Information and Computation 103(2), 299–347 (1993)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Sharygina, N., Chaki, S., Clarke, E.M., Sinha, N.: Dynamic component substitutability analysis. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 512–528. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Stark, E.W.: A proof technique for rely-guarantee properties. In: Maheshwari, S.N. (ed.) FSTTCS 1985. LNCS, vol. 206, pp. 369–391. Springer, Heidelberg (1985)Google Scholar
  20. 20.
    Weiser, M.: Program slicing. IEEE Trans. on Software Engineering 10, 352–357 (1984)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Wonhong Nam
    • 1
  • Rajeev Alur
    • 1
  1. 1.Dept. of Computer and Information ScienceUniversity of Pennsylvania 

Personalised recommendations