Interpolation Guided Compositional Verification (T)

Model checking suffers from the state space explosion problem. Compositional verification techniques such as assume-guarantee reasoning (AGR) have been proposed to alleviate the problem. However, there are at least three challenges in applying AGR. Firstly, given a system M1 ? M2, how do we automatically construct and refine (in the presence of spurious counterexamples) an assumption A2, which must be an abstraction of M2? Previous approaches suggest to incrementally learn and modify the assumption through multiple invocations of a model checker, which could be often time consuming. Secondly, how do we keep the state space small when checking M1 ? A2 = f if multiple refinements of A2 are necessary? Lastly, in the presence of multiple parallel components, how do we partition the components? In this work, we propose interpolation-guided compositional verification. The idea is to tackle three challenges by using interpolations to generate and refine the abstraction of M2, to abstract M1 at the same time (so that the state space is reduced even if A2 is refined all the way to M2), and to find good partitions. Experimental results show that the proposed approach outperforms existing approaches consistently.

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

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

[3]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

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

[5]  Rajeev Alur,et al.  Learning-Based Symbolic Assume-Guarantee Reasoning with Automatic Decomposition , 2006, ATVA.

[6]  José Eduardo Ribeiro Cury,et al.  Multitasking Supervisory Control of Discrete-Event Systems , 2005, Discret. Event Dyn. Syst..

[7]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[8]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

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

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

[11]  Willem P. de Roever,et al.  The rely-guarantee method for verifying shared variable concurrent programs , 1997, Formal Aspects of Computing.

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

[13]  Jun Sun,et al.  Learning Assumptions for CompositionalVerification of Timed Systems , 2014, IEEE Transactions on Software Engineering.

[14]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

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

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

[17]  Pao-Ann Hsiung,et al.  Compositional Synthesis of Concurrent Systems through Causal Model Checking and Learning , 2014, FM.

[18]  Jun Sun,et al.  A model checking framework for hierarchical systems , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[19]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

[20]  Joël Ouaknine,et al.  State/Event Software Verification for Branching-Time Specifications , 2005, IFM.

[21]  Ranjit Jhala,et al.  Interpolant-Based Transition Relation Approximation , 2007, Log. Methods Comput. Sci..

[22]  Yassine Lakhnech,et al.  Computing Abstractions of Infinite State Systems Compositionally and Automatically , 1998, CAV.

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

[24]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[25]  Jun Sun,et al.  Automatic Compositional Verification of Timed Systems , 2012, FM.

[26]  George S. Avrunin,et al.  Breaking up is hard to do: an investigation of decomposition for assume-guarantee reasoning , 2006, ISSTA '06.

[27]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

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

[29]  Pao-Ann Hsiung,et al.  Counterexample-Guided Assume-Guarantee Synthesis through Learning , 2011, IEEE Transactions on Computers.

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

[31]  Jun Sun,et al.  An Efficient Algorithm for Learning Event-Recording Automata , 2011, ATVA.

[32]  Mark Lawford,et al.  Hierarchical interface-based supervisory control of a flexible manufacturing system , 2006, IEEE Transactions on Control Systems Technology.

[33]  Alberto Griggio,et al.  The MathSAT5 SMT Solver , 2013, TACAS.

[34]  É. André,et al.  Learning assumptions for compositional verification of timed systems , 2013 .

[35]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

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

[37]  Joël Ouaknine,et al.  Automated Compositional Abstraction Refinement for Concurrent C Programs: A Two-Level Approach , 2003, SoftMC@CAV.