Boosting minimal unsatisfiable core extraction

A variety of tasks in formal verification require finding small or minimal unsatisfiable cores (subsets) of an unsatisfiable set of constraints. This paper proposes two algorithms for finding a minimal unsatisfiable core or, if a time-out occurs, a small non-minimal unsatisfiable core. Our algorithms can be applied to either standard clause-level unsatisfiable core extraction or high-level unsatisfiable core extraction, that is, an extraction of an unsatisfiable core in terms of “interesting” propositional constraints supplied by the user application. We demonstrate that one of our algorithms outperforms existing algorithms for clause-level minimal unsatisfiable core extraction on large well-known industrial benchmarks. We also show that our algorithms are highly scalable for the problem of high-level minimal unsatisfiable core extraction on huge benchmarks generated by Intel's proof-based abstraction refinement flow. In addition, we provide a comparative analysis of the impact of various algorithms on unsatisfiable core extraction.

[1]  Albert Oliveras,et al.  Efficient Generation of Unsatisfiability Proofs and Cores in SAT , 2008, LPAR.

[2]  Alexander Nadel,et al.  Designers Work Less with Quality Formal Equivalence Checking , 2010 .

[3]  Éric Grégoire,et al.  Using local search to find MSSes and MUSes , 2009, Eur. J. Oper. Res..

[4]  Igor L. Markov,et al.  AMUSE: a minimally-unsatisfiable subformula extractor , 2004, Proceedings. 41st Design Automation Conference, 2004..

[5]  Nachum Dershowitz,et al.  A Clause-Based Heuristic for SAT Solvers , 2005, SAT.

[6]  Lakhdar Sais,et al.  Efficient Combination of Decision Procedures for MUS Computation , 2009, FroCoS.

[7]  Eugene Goldberg,et al.  Verification of proofs of unsatisfiability for CNF formulas , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[8]  Ofer Strichman,et al.  Deriving Small Unsatisfiable Cores with Dominators , 2006, CAV.

[9]  Nachum Dershowitz,et al.  A Scalable Algorithm for Minimal Unsatisfiable Core Extraction , 2006, SAT.

[10]  Zijiang Yang,et al.  Iterative Abstraction using SAT-based BMC with Proof Analysis , 2003, ICCAD 2003.

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

[12]  Ohad Shacham,et al.  On-The-Fly Resolve Trace Minimization , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[13]  Armin Biere,et al.  PicoSAT Essentials , 2008, J. Satisf. Boolean Model. Comput..

[14]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2003, J. Symb. Comput..

[15]  Shi-Yu Huang,et al.  Formal Equivalence Checking and Design Debugging , 1998 .

[16]  Hans van Maaren,et al.  Finding Guaranteed MUSes Fast , 2008, SAT.

[17]  Kenneth L. McMillan,et al.  Automatic Abstraction without Counterexamples , 2003, TACAS.

[18]  Zurab Khasidashvili,et al.  A compositional theory for post-reboot observational equivalence checking of hardware , 2009, 2009 Formal Methods in Computer-Aided Design.

[19]  Renato Bruni,et al.  Approximating minimal unsatisfiable subformulae by means of adaptive core search , 2003, Discret. Appl. Math..

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

[21]  Joao Marques-Silva,et al.  Robust search algorithms for test pattern generation , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.

[22]  Inês Lynce,et al.  A branch and bound algorithm for extracting smallest minimal unsatisfiable subformulas , 2008, Constraints.

[23]  Mihalis Yannakakis,et al.  The complexity of facets (and some facets of complexity) , 1982, STOC '82.

[24]  Karem A. Sakallah,et al.  Algorithms for Computing Minimal Unsatisfiable Subsets of Constraints , 2007, Journal of Automated Reasoning.

[25]  Sikun Li,et al.  Tracking Unsatisfiable Subformulas from Reduced Refutation Proof , 2009, J. Softw..

[26]  Inês Lynce,et al.  On Computing Minimum Unsatisfiable Cores , 2004, SAT.

[27]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[28]  Alexander Nadel,et al.  Understanding and Improving a Modern SAT Solver , 2009 .

[29]  Sikun Li,et al.  Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm , 2006, Australian Conference on Artificial Intelligence.

[30]  Randal E. Bryant,et al.  Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW , 2001, DAC '01.

[31]  Jinbo Huang,et al.  MUP: a minimal unsatisfiability prover , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[32]  Karem A. Sakallah,et al.  Refinement strategies for verification methods based on datapath abstraction , 2006, Asia and South Pacific Conference on Design Automation, 2006..