Faster extraction of high-level minimal unsatisfiable cores

  • Authors:
  • Vadim Ryvchin;Ofer Strichman

  • Affiliations:
  • Information Systems Engineering, IE, Technion, Haifa, Israel;Design Technology Solutions Group, Intel Corporation, Haifa, Israel

  • Venue:
  • SAT'11 Proceedings of the 14th international conference on Theory and application of satisfiability testing
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Various verification techniques are based on SAT's capability to identify a small, or even minimal, unsatisfiable core in case the formula is unsatisfiable, i.e., a small subset of the clauses that are unsatisfiable regardless of the rest of the formula. In most cases it is not the core itself that is being used, rather it is processed further in order to check which clauses from a preknown set of Interesting Constraints (where each constraint is modeled with a conjunction of clauses) participate in the proof. The problem of minimizing the participation of interesting constraints was recently coined high-level minimal unsatisfiable core by Nadel [15]. Two prominent examples of verification techniques that need such small cores are 1) abstraction-refinement model-checking techniques, which use the core in order to identify the state variables that will be used for refinement (smaller number of such variables in the core implies that more state variables can be replaced with free inputs in the abstract model), and 2) assumption minimization, where the goal is to minimize the usage of environment assumptions in the proof, because these assumptions have to be proved separately. We propose seven improvements to the recent solution given in [15], which together result in an overall reduction of 55% in run time and 73% in the size of the resulting core, based on our experiments with hundreds of industrial test cases. The optimized procedure is also better empirically than the assumptions-based minimization technique.