Abstract
Compositional reasoning aims to improve scalability of verification tools by reducing the original verification task into subproblems. The simplification is typically based on assume-guarantee reasoning principles, and requires user guidance to identify appropriate assumptions for components. In this paper, we propose a fully automated approach to compositional reasoning that consists of automated decomposition using a hypergraph partitioning algorithm for balanced clustering of variables, and discovering assumptions using the L * algorithm for active learning of regular languages. We present a symbolic implementation of the learning algorithm, and incorporate it in the model checker NuSmv. In some cases, our experiments demonstrate significant savings in the computational requirements of symbolic model checking.
Similar content being viewed by others
References
Abadi M, Lamport L (1995) Conjoining specifications. ACM Trans Program Lang Syst (TOPLAS) 17:507–534
Alur R, Henzinger T (1999) Reactive modules. Form Methods Syst Des 15(1):7–48. Invited submission to FLoC’96 special issue. A preliminary version appears in Proceedings of the 11th LICS, 1996
Alur R, Henzinger T, Mang F, Qadeer S, Rajamani S, Tasiran S (1998) MOCHA: Modularity in model checking. In: Proceedings of the 10th international conference on computer aided verification, pp 516–520
Alur R, de Alfaro L, Henzinger T, Mang F (1999) Automating modular verification. In: CONCUR’99: Concurrency theory, tenth international conference. LNCS, vol 1664. Springer, Berlin, pp 82–97
Alur R, Cerný P, Madhusudan P, Nam W (2005) Synthesis of interface specifications for Java classes. In: Proceedings of the 32nd symposium on principles of programming languages, POPL 2005, pp 98–109
Alur R, Madhusudan P, Nam W (2005) Symbolic compositional verification by learning assumptions. In: Proceedings of the 17th international conference of computer aided verification, CAV 2005, pp 548–562
Angluin D (1987) Learning regular sets from queries and counterexamples. Inf Comput 75:87–106
Barringer H, Pasareanu C, Giannakopoulou D (2003) Proof rules for automated compositional verification through learning. In: Proceedings of the 2nd international workshop on specification and verification of component based systems
Biere A, Cimatti A, Clarke E, Zhu Y (1999) Symbolic model checking without BDDs. In: Proceedings of the 5th international conference on tools and algorithms for the construction and analysis of systems, pp 193–207
Birkendorf A, Böker A, Simon H-U (2000) Learning deterministic finite automata from smallest counterexamples. SIAM J Discrete Math 13(4):465–491
Bryant R (1986) Graph-based algorithms for boolean-function manipulation. IEEE Trans Comput, C-35(8)
Cimatti A, Clarke E, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) NuSMV Version 2: An OpenSource tool for symbolic model checking. In: Proceedings of the 14th international conference on computer-aided verification (CAV 2002). LNCS, vol 2404. Springer, Berlin, pp 359–364
Clarke E, Grumberg O, Jha S, Lu Y, Veith H (2000) Counterexample-guided abstraction refinement. In: Proceedings of international conference on computer aided verification (CAV’00), pp 154–169
Cobleigh J, Giannakopoulou D, Pasareanu C (2003) Learning assumptions for compositional verification. In: Proceedings of the 9th international conference on tools and algorithms for the construction and analysis of software. LNCS, vol 2619. Springer, Berlin, pp 331–346
Cobleigh J, Avrunin G, Clarke L (2006) Breaking up is hard to do: An investigation of decomposition for assume-guarantee reasoning. In: Proceedings of the international symposium on software testing and analysis, pp 97–108
Fiduccia C, Mattheyses R (1982) A linear-time heuristic for improving network partitions. In: Proceedings of the 19th design automation conference, pp 241–247
Giannakopoulou D, Pasareanu C (2005) Learning-based assume-guarantee verification. In: Proceeding of the 12th international spin workshop, pp 282–287
Giannakopoulou D, Pasareanu C, Barringer H (2002) Assumption generation for software component verification. In: Proceedings of 17th IEEE international conference on automated software engineering (ASE 2002), pp 3–12
Grümberg O, Long D (1994) Model checking and modular verification. ACM Trans Program Lang Syst 16(3):843–871
Gupta A, McMillan K, Fu Z (2007) Automated assumption generation for compositional verification. In: Proceedings of the 19th international conference of computer aided verification, CAV 2007, pp 420–432
Henzinger T, Qadeer S, Rajamani S (1998) You assume, we guarantee: Methodology and case studies. In: CAV 98: Computer-aided verification. LNCS, vol 1427. Springer, Berlin, pp 521–525
Ibarra O, Jiang T (1991) Learning regular languages from counterexamples. J Comput Syst Sci 43(2):299–316
Jones C (1981) Development methods for computer programs including a notion of interference. PhD thesis, Oxford University
Karypis G, Kumar V (1999) Multilevel k-way hypergraph partitioning. In: Proceedings of the 36th conference on design automation, pp 343–348
Karypis G, Aggarwal R, Kumar V, Shekhar S (1999) Multilevel hypergraph partitioning: applications in VLSI domain. IEEE Trans Very Large Scale Integr (VLSI) Syst 7(1):69–79
Kearns M, Vazirani U (1994) An introduction to computational learning theory. MIT Press, Cambridge
Kernighan B, Lin S (1970) An efficient heuristic procedure for partitioning graphs. Bell Syst Tech J 49(2):291–307
Kurshan R (1994) Computer-aided Verification of Coordinating Processes: The automata-theoretic approach. Princeton University Press, Princeton
McMillan K (1997) A compositional rule for hardware design refinement. In: Proceedings of the 9th international conference on computer aided verification, pp 24–35
McMillan K (2002) Applying SAT methods in unbounded symbolic model checking. In: Proceedings of the 14th international conference on computer aided verification. LNCS, vol 2404. Springer, Berlin, pp 250–264
Misra J, Chandy K (1981) Proofs of networks of processes. IEEE Trans Softw Eng 7(4):417–426
Nam W, Alur R (2006) Learning-based symbolic assume-guarantee reasoning with automatic decomposition. In: Proceedings of the 4th international symposium on automated technology for verification and analysis (ATVA’06), pp 170–185
Nam W, Alur R (2007) Learning plans for safety and reachability goals with partial observability. Technical Report MS-CIS-07-16, University of Pennsylvania
Namjoshi K, Trefler R (2000) On the completeness of compositional reasoning. In: Proceedings of the 12th international conference of computer aided verification, CAV 2000, pp 139–153
Peled D, Vardi M, Yannakakis M (2002) Black box checking. J Autom Lang Comb 7(2):225–246
Pnueli A (1984) In transition from global to modular temporal reasoning about programs. In: Logics and Models of Concurrent Systems. Springer, New York, pp 123–144
Rivest R, Schapire R (1993) Inference of finite automata using homing sequences. Inf Comput 103(2):299–347
Sharygina N, Chaki S, Clarke E, Sinha N (2005) Dynamic component substitutability analysis. In: Proceedings of the international symposium of formal methods Europe, pp 512–528
Sinha N, Clarke E (2007) SAT-based compositional verification using lazy learning. In: Proceedings of the 19th international conference of computer aided verification, CAV 2007, pp 39–54
Stark E (1985) A proof technique for rely-guarantee properties. In: FST & TCS 85: Foundations of software technology and theoretical computer science. LNCS, vol 206. Springer, Berlin, pp 369–391
Vardhan A, Viswanathan M (2006) Lever: A tool for learning based verification. In: Proceedings of 18th international conference on computer aided verification (CAV 2006), pp 471–474
Vardhan A, Sen K, Viswanathan M, Agha G (2004) Actively learning to verify safety properties for FIFO automata. In: Proceedings of 24th foundations of software technology and theoretical computer science. LNCS, vol 3328. Springer, Berlin, pp 494–505
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was partially supported by ARO grant DAAD19-01-1-0473, and NSF grants ITR/SY 0121431 and CCR0306382.
Rights and permissions
About this article
Cite this article
Nam, W., Madhusudan, P. & Alur, R. Automatic symbolic compositional verification by learning assumptions. Form Methods Syst Des 32, 207–234 (2008). https://doi.org/10.1007/s10703-008-0055-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-008-0055-8