Efficient generation of small interpolants in CNF

  • Authors:
  • Yakir Vizel;Vadim Ryvchin;Alexander Nadel

  • Affiliations:
  • Computer Science Department, The Technion, Haifa, Israel;Information Systems Engineering Department, The Technion, Haifa, Israel,Design Technology Solutions Group, Intel Corporation, Haifa, Israel;Design Technology Solutions Group, Intel Corporation, Haifa, Israel

  • Venue:
  • CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Interpolation-based model checking (ITP) [14] is an efficient and complete model checking procedure. However, for large problems, interpolants generated by ITP might become extremely large, rendering the procedure slow or even intractable. In this work we present a novel technique for interpolant generation in the context of model checking. The main novelty of our work is that we generate small interpolants in Conjunctive Normal Form (CNF) using a twofold procedure: First we propose an algorithm that exploits resolution refutation properties to compute an interpolant approximation. Then we introduce an algorithm that takes advantage of inductive reasoning to turn the interpolant approximation into an interpolant. Unlike ITP, our approach maintains only the relevant subset of the resolution refutation. In addition, the second part of the procedure exploits the properties of the model checking problem at hand, in contrast to the general-purpose algorithm used in ITP. We developed a new interpolation-based model checking algorithm, called CNF-ITP. Our algorithm takes advantage of the smaller interpolants and exploits the fact that the interpolants are given in CNF. We integrated our method into a SAT-based model checker and experimented with a representative subset of the HWMCC'12 benchmark set. Our experiments show that, overall, the interpolants generated by our method are 42 times smaller than those generated by ITP. Our CNF-ITP algorithm outperforms ITP, and at times solves problems that ITP cannot solve. We also compared CNF-ITP to the successful IC3 [3] algorithm. We found that CNF-ITP outperforms IC3 [3] in a large number of cases.