Incremental preprocessing methods for use in BMC

  • Authors:
  • Stefan Kupferschmid;Matthew Lewis;Tobias Schubert;Bernd Becker

  • Affiliations:
  • Chair of Computer Architecture, Albert-Ludwigs-University, Freiburg im Breisgau, Germany 79110;Chair of Computer Architecture, Albert-Ludwigs-University, Freiburg im Breisgau, Germany 79110;Chair of Computer Architecture, Albert-Ludwigs-University, Freiburg im Breisgau, Germany 79110;Chair of Computer Architecture, Albert-Ludwigs-University, Freiburg im Breisgau, Germany 79110

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditional incremental SAT solvers have achieved great success in the domain of Bounded Model Checking (BMC). Recently, modern solvers have introduced advanced preprocessing procedures that have allowed them to obtain high levels of performance. Unfortunately, many preprocessing techniques such as variable and (blocked) clause elimination cannot be directly used in an incremental manner. This work focuses on extending these techniques and Craig interpolation so that they can be used effectively together in incremental SAT solving (in the context of BMC). The techniques introduced here doubled the performance of our BMC solver on both SAT and UNSAT problems. For UNSAT problems, preprocessing had the added advantage that Craig interpolation was able to find the fixed point sooner, reducing the number of incremental SAT iterations. Furthermore, our ideas seem to perform better as the benchmarks become larger, and/or deeper, which is exactly when they are needed. Lastly, our methods can be integrated into other SAT based BMC tools to achieve similar speedups.