Skip to main content
Log in

Automatic symbolic compositional verification by learning assumptions

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

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.

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. Abadi M, Lamport L (1995) Conjoining specifications. ACM Trans Program Lang Syst (TOPLAS) 17:507–534

    Article  Google Scholar 

  2. 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

    Article  MathSciNet  Google Scholar 

  3. 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

  4. 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

    Chapter  Google Scholar 

  5. 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

  6. 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

  7. Angluin D (1987) Learning regular sets from queries and counterexamples. Inf Comput 75:87–106

    Article  MathSciNet  MATH  Google Scholar 

  8. 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

  9. 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

  10. Birkendorf A, Böker A, Simon H-U (2000) Learning deterministic finite automata from smallest counterexamples. SIAM J Discrete Math 13(4):465–491

    Article  MathSciNet  MATH  Google Scholar 

  11. Bryant R (1986) Graph-based algorithms for boolean-function manipulation. IEEE Trans Comput, C-35(8)

  12. 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

    Chapter  Google Scholar 

  13. 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

  14. 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

    Google Scholar 

  15. 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

  16. Fiduccia C, Mattheyses R (1982) A linear-time heuristic for improving network partitions. In: Proceedings of the 19th design automation conference, pp 241–247

  17. Giannakopoulou D, Pasareanu C (2005) Learning-based assume-guarantee verification. In: Proceeding of the 12th international spin workshop, pp 282–287

  18. 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

  19. Grümberg O, Long D (1994) Model checking and modular verification. ACM Trans Program Lang Syst 16(3):843–871

    Article  Google Scholar 

  20. 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

  21. 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

    Google Scholar 

  22. Ibarra O, Jiang T (1991) Learning regular languages from counterexamples. J Comput Syst Sci 43(2):299–316

    Article  MathSciNet  MATH  Google Scholar 

  23. Jones C (1981) Development methods for computer programs including a notion of interference. PhD thesis, Oxford University

  24. Karypis G, Kumar V (1999) Multilevel k-way hypergraph partitioning. In: Proceedings of the 36th conference on design automation, pp 343–348

  25. 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

    Article  Google Scholar 

  26. Kearns M, Vazirani U (1994) An introduction to computational learning theory. MIT Press, Cambridge

    Google Scholar 

  27. Kernighan B, Lin S (1970) An efficient heuristic procedure for partitioning graphs. Bell Syst Tech J 49(2):291–307

    Google Scholar 

  28. Kurshan R (1994) Computer-aided Verification of Coordinating Processes: The automata-theoretic approach. Princeton University Press, Princeton

    Google Scholar 

  29. McMillan K (1997) A compositional rule for hardware design refinement. In: Proceedings of the 9th international conference on computer aided verification, pp 24–35

  30. 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

    Chapter  Google Scholar 

  31. Misra J, Chandy K (1981) Proofs of networks of processes. IEEE Trans Softw Eng 7(4):417–426

    Article  MathSciNet  Google Scholar 

  32. 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

  33. Nam W, Alur R (2007) Learning plans for safety and reachability goals with partial observability. Technical Report MS-CIS-07-16, University of Pennsylvania

  34. 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

  35. Peled D, Vardi M, Yannakakis M (2002) Black box checking. J Autom Lang Comb 7(2):225–246

    MathSciNet  MATH  Google Scholar 

  36. 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

    Google Scholar 

  37. Rivest R, Schapire R (1993) Inference of finite automata using homing sequences. Inf Comput 103(2):299–347

    Article  MathSciNet  MATH  Google Scholar 

  38. 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

  39. 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

  40. 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

    Google Scholar 

  41. 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

  42. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wonhong Nam.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-008-0055-8

Keywords

Navigation