Verification of partial designs using incremental QBF solving

SAT solving is an indispensable core component of numerous formal verification tools and has found widespread use in industry, in particular when using it in an incremental fashion, e.g. in Bounded Model Checking (BMC). On the other hand, there are applications, in particular in the area of partial design verification, where SAT formulas are not expressive enough and a description via Quantified Boolean Formulas (QBF) is much more adequate. In this paper we introduce incremental QBF solving and thereby make it usable as a core component of BMC. To do so, we realized an incremental version of the state-of-the-art QBF solver QuBE, allowing for the reuse of learnt information e.g. in the form of conflict clauses and solution cubes. As an application we consider BMC for partial designs (i.e. designs containing so-called blackboxes) and thereby disprove realizability, that is, we prove that an unsafe state is reachable no matter how the blackboxes are implemented. In our experimental analysis, we compare different incremental approaches implemented in our BMC tool. BMC with incremental QBF turns out to be feasible for designs with more than 21,000 gates and 2,700 latches. Significant performance gains over non incremental QBF based BMC can be obtained on many benchmark circuits, in particular when using the so-called backward-incremental approach combined with incremental preprocessing.

[1]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[2]  Ofer Strichman,et al.  Pruning Techniques for the SAT-Based Bounded Model Checking Problem , 2001, CHARME.

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

[4]  Armando Tacchella,et al.  Clause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas , 2006, J. Artif. Intell. Res..

[5]  Bernd Becker,et al.  Incremental preprocessing methods for use in BMC , 2011, Formal Methods Syst. Des..

[6]  Bernd Becker,et al.  Checking equivalence for partial implementations , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[7]  John N. Hooker,et al.  Solving the incremental satisfiability problem , 1993, J. Log. Program..

[8]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

[9]  Armin Biere,et al.  Compressing BMC Encodings with QBF , 2007, BMC@FLoC.

[10]  Niklas Sörensson,et al.  Temporal induction by incremental SAT solving , 2003, BMC@CAV.

[11]  Bernd Becker,et al.  Encoding Techniques, Craig Interpolants and Bounded Model Checking for Incomplete Designs , 2010, SAT.

[12]  Bernd Becker,et al.  Advanced SAT-Techniques for Bounded Model Checking of Blackbox Designs , 2006, Seventh International Workshop on Microprocessor Test and Verification (MTV'06).

[13]  Enrico Giunchiglia,et al.  Reasoning with Quantified Boolean Formulas , 2021, Handbook of Satisfiability.

[14]  Bernd Becker,et al.  On Combining 01X-Logic and QBF , 2007, EUROCAST.

[15]  Nachum Dershowitz,et al.  Bounded Model Checking with QBF , 2005, SAT.

[16]  Enrico Giunchiglia,et al.  sQueezeBF: An Effective Preprocessor for QBFs Based on Equivalence Reasoning , 2010, SAT.