Symbolic assume-guarantee reasoning through BDD learning

Both symbolic model checking and assume-guarantee reasoning aim to circumvent the state explosion problem. Symbolic model checking explores many states simultaneously and reports numerous erroneous traces. Automated assume-guarantee reasoning, on the other hand, infers contextual assumptions by inspecting spurious erroneous traces. One would expect that their integration could further improve the capacity of model checking. Yet examining numerous erroneous traces to deduce contextual assumptions can be very time-consuming. The integration of symbolic model checking and assume-guarantee reasoning is thus far from clear. In this paper, we present a progressive witness analysis algorithm for automated assume-guarantee reasoning to exploit a multitude of traces from BDD-based symbolic model checkers. Our technique successfully integrates symbolic model checking with automated assume-guarantee reasoning by directly inferring BDD's as implicit assumptions. It outperforms monolithic symbolic model checking in four benchmark problems and an industrial case study in experiments.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

[2]  Thomas A. Henzinger,et al.  Permissive interfaces , 2005, ESEC/FSE-13.

[3]  Sagar Chaki,et al.  Optimized L*-Based Assume-Guarantee Reasoning , 2007, TACAS.

[4]  Corina S. Pasareanu,et al.  Special issue on learning techniques for compositional reasoning , 2008, Formal Methods Syst. Des..

[5]  Min Zhou,et al.  Modeling and Validation of PLC-Controlled Systems: A Case Study , 2012, 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering.

[6]  Lei Zhu,et al.  Comparing Learning Algorithms in Automated Assume-Guarantee Reasoning , 2010, ISoLA.

[7]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[8]  Rishabh Singh,et al.  Learning Component Interfaces with May and Must Abstractions , 2010, CAV.

[9]  Laurent Théry Proof Pearl: Revisiting the Mini-rubik in Coq , 2008, TPHOLs.

[10]  Rajeev Alur,et al.  Automatic symbolic compositional verification by learning assumptions , 2008, Formal Methods Syst. Des..

[11]  Nader H. Bshouty Exact Learning Boolean Function via the Monotone Theory , 1995, Inf. Comput..

[12]  Corina S. Pasareanu,et al.  Refining Interface Alphabets for Compositional Verification , 2007, TACAS.

[13]  Ricard Gavaldà,et al.  Learning Ordered Binary Decision Diagrams , 1995, ALT.

[14]  AngluinDana Learning regular sets from queries and counterexamples , 1987 .

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

[16]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[17]  David Chaum,et al.  The dining cryptographers problem: Unconditional sender and recipient untraceability , 1988, Journal of Cryptology.

[18]  Cormac Flanagan,et al.  Predicate abstraction for software verification , 2002, POPL '02.

[19]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[20]  George S. Avrunin,et al.  Breaking up is hard to do: An evaluation of automated assume-guarantee reasoning , 2008, TSEM.

[21]  Joseph Sifakis,et al.  Model checking , 1996, Handbook of Automated Reasoning.

[22]  Marsha Chechik,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2016, Lecture Notes in Computer Science.

[23]  Kenneth L. McMillan,et al.  Automated assumption generation for compositional verification , 2007, Formal Methods Syst. Des..

[24]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[25]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[26]  Jozef Hooman,et al.  Concurrency Verification: Introduction to Compositional and Noncompositional Methods , 2001, Cambridge Tracts in Theoretical Computer Science.

[27]  Rajeev Alur,et al.  Symbolic Compositional Verification by Learning Assumptions , 2005, CAV.

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

[29]  Atsuyoshi Nakamura,et al.  An efficient query learning algorithm for ordered binary decision diagrams , 2005, Inf. Comput..

[30]  Sagar Chaki,et al.  Automated Assume-Guarantee Reasoning for Simulation Conformance , 2005, CAV.

[31]  Umesh V. Vazirani,et al.  An Introduction to Computational Learning Theory , 1994 .

[32]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[33]  Yih-Kuen Tsay,et al.  Automated Assume-Guarantee Reasoning through Implicit Learning , 2010, CAV.

[34]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[35]  Yu-Fang Chen,et al.  Learning Boolean Functions Incrementally , 2012, CAV.

[36]  Edmund M. Clarke,et al.  SAT-Based Compositional Verification Using Lazy Learning , 2007, CAV.

[37]  Thomas A. Henzinger,et al.  Algorithms for Interface Synthesis , 2007, CAV.

[38]  Yih-Kuen Tsay,et al.  Learning Minimal Separating DFA's for Compositional Verification , 2009, TACAS.

[39]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..