Symbolic Compositional Verification by Learning Assumptions

The verification problem for a system consisting of components can be decomposed into simpler subproblems for the components using assume-guarantee reasoning. However, such compositional reasoning requires user guidance to identify appropriate assumptions for components. In this paper, we propose an automated solution for discovering assumptions based on 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. Our experiments demonstrate significant savings in the computational requirements of symbolic model checking.

[1]  Kedar S. Namjoshi,et al.  On the completeness of compositional reasoning , 2000 .

[2]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[3]  Thomas A. Henzinger,et al.  MOCHA: Modularity in Model Checking , 1998, CAV.

[4]  Kousha Etessami,et al.  Verifying Probabilistic Procedural Programs , 2004, FSTTCS.

[5]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[6]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[7]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[8]  Mahesh Viswanathan,et al.  Actively Learning to Verify Safety for FIFO Automata , 2004, FSTTCS.

[9]  Corina S. Pasareanu,et al.  Learning Assumptions for Compositional Verification , 2003, TACAS.

[10]  Ronald L. Rivest,et al.  Inference of finite automata using homing sequences , 1989, STOC '89.

[11]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[12]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[13]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[14]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[15]  Mahesh Viswanathan,et al.  Learning to Verify Safety Properties , 2004, ICFEM.

[16]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[17]  Kedar S. Namjoshi,et al.  On the Competeness of Compositional Reasoning , 2000, CAV.

[18]  Thomas A. Henzinger,et al.  Automating Modular Verification , 1999, CONCUR.

[19]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[20]  Thomas A. Henzinger,et al.  You Assume, We Guarantee: Methodology and Case Studies , 1998, CAV.

[21]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[22]  Howard Barringer,et al.  Proof Rules for Automated Compositional Verification through Learning , 2003 .

[23]  Thomas A. Henzinger,et al.  Reactive Modules , 1999, Formal Methods Syst. Des..

[24]  Mihalis Yannakakis,et al.  Black Box Checking , 1999, FORTE.

[25]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[26]  Pavol Cerný,et al.  Synthesis of interface specifications for Java classes , 2005, POPL '05.

[27]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..

[28]  C. A. Petri,et al.  Concurrency Theory , 1986, Advances in Petri Nets.