Results 1 
5 of
5
Efficient interpolant generation in satisfiability modulo theories,” in
 Proc. TACAS, ser. LNCS 4963.
, 2008
"... Abstract. The problem of computing Craig interpolants in SAT and SMT has recently received a lot of interest, mainly for its applications in formal verification. Efficient algorithms for interpolant generation have been presented for some theories of interest including that of equality and uninter ..."
Abstract

Cited by 42 (7 self)
 Add to MetaCart
(Show Context)
Abstract. The problem of computing Craig interpolants in SAT and SMT has recently received a lot of interest, mainly for its applications in formal verification. Efficient algorithms for interpolant generation have been presented for some theories of interest including that of equality and uninterpreted functions (EUF ), linear arithmetic over the rationals (LA(Q)), and their combinationand they are successfully used within model checking tools. For the theory of linear arithmetic over the integers (LA(Z)), however, the problem of finding an interpolant is more challenging, and the task of developing efficient interpolant generators for the full theory LA(Z) is still the objective of ongoing research. In this paper we try to close this gap. We build on previous work and present a novel interpolation algorithm for SMT(LA(Z)), which exploits the full power of current stateoftheart SMT(LA(Z)) solvers. We demonstrate the potential of our approach with an extensive experimental evaluation of our implementation of the proposed algorithm in the MATHSAT SMT solver. Motivations, related work and goals Given two formulas A and B such that A∧B is inconsistent, a Craig interpolant (simply "interpolant" hereafter) for (A, B) is a formula I s.t. A entails I, I ∧ B is inconsistent, and all uninterpreted symbols of I occur in both A and B. Interpolation in both SAT and SMT has been recognized to be a substantial tool for formal verification. For instance, in the context of software model checking based on counterexampleguidedabstractionrefinement (CEGAR) interpolants of quantifierfree formulas in suitable theories are computed for automatically refining abstractions in order to rule out spurious counterexamples. Consequently, the problem of computing interpolants in SMT has received a lot of interest in the last years (e.g.,
Efficient Generation of Craig Interpolants in Satisfiability Modulo Theories
"... The problem of computing Craig Interpolants has recently received a lot of interest. In this paper, we address the problem of efficient generation of interpolants for some important fragments of firstorder logic, which are amenable for effective decision procedures, called Satisfiability Modulo The ..."
Abstract

Cited by 19 (6 self)
 Add to MetaCart
The problem of computing Craig Interpolants has recently received a lot of interest. In this paper, we address the problem of efficient generation of interpolants for some important fragments of firstorder logic, which are amenable for effective decision procedures, called Satisfiability Modulo Theory solvers. We make the following contributions. First, we provide interpolation procedures for several basic theories of interest: the theories of linear arithmetic over the rationals, difference logic over rationals and integers, and UTVPI over rationals and integers. Second, we define a novel approach to interpolate combinations of theories, that applies to the Delayed Theory Combination approach. Efficiency is ensured by the fact that the proposed interpolation algorithms extend stateoftheart algorithms for Satisfiability Modulo Theories. Our experimental evaluation shows that the MathSAT SMT solver can produce interpolants with minor overhead in search, and much more efficiently than other competitor solvers.
Efficient Generation of Small Interpolants in CNF
"... Abstract. Interpolationbased 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 inte ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Interpolationbased 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 generalpurpose algorithm used in ITP. We developed a new interpolationbased model checking algorithm, called CNFITP. 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 SATbased 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 CNFITP algorithm outperforms ITP, and at times solves problems that ITP cannot solve. We also compared CNFITP to the successful IC3 [3] algorithm. We found that CNFITP outperforms IC3 [3] in a large number of cases. 1
A Hierarchy of Tractable Subclasses for SAT and Counting SAT Problems
"... Finding subclasses of formulæ for which the SAT problem can be solved in polynomial time has been an important problem in computer science. We present a new hierarchy of propositional formulæ subclasses for which the SAT and counting SAT problems can be solved in polynomial time. Our tractable subcl ..."
Abstract
 Add to MetaCart
(Show Context)
Finding subclasses of formulæ for which the SAT problem can be solved in polynomial time has been an important problem in computer science. We present a new hierarchy of propositional formulæ subclasses for which the SAT and counting SAT problems can be solved in polynomial time. Our tractable subclasses are those propositional formulæ in conjunctive normal form where any set of k +1clauses are related, i.e., there exists at least one literal in one clause that appears negated in another clause of the considered set of k +1clauses. We say this subclass of formulæ is of rank k and it is different from previously known subclasses that are solvable in polynomial time. This is an improvement over the SAT Dichotomy Theorem and the counting SAT Dichotomy Theorem, since our subclass can be moved out from the NPcomplete class to the P class. The membership problem for this new subclass can be solved in O(n · l k+1), where n, l and k are the number of variables, clauses and the rank (1 ≤ k ≤ l − 1), respectively. We give an efficient algorithm to approximate the number of assignments for any arbitrary conjunctive normal form propositional formula by an upper bound. 1
Proving Functional Equivalence of two AES Implementations using Bounded Model Checking ∗
"... Bounded model checking—as well as symbolic equivalence checking—are highly successful techniques in the hardware domain. Recently, bitvector bounded model checkers like CBMC have been developed that are able to check properties of (mostly lowlevel) software written in C. However, using these tool ..."
Abstract
 Add to MetaCart
(Show Context)
Bounded model checking—as well as symbolic equivalence checking—are highly successful techniques in the hardware domain. Recently, bitvector bounded model checkers like CBMC have been developed that are able to check properties of (mostly lowlevel) software written in C. However, using these tools to check equivalence of software implementations has rarely been pursued. In this case study we tackle the problem of proving the functional equivalence of two implementations of the AES cryptoalgorithm using automatic bounded model checking techniques. Cryptographic algorithms heavily rely on bitlevel operations, which makes them particularly suitable for bitprecise tools like CBMC. Other software verification tools based on abstraction refinement or static analysis seem to be less appropriate for such software. We could semiautomatically prove equivalence of the first three rounds of the AES encryption routines. Moreover, by conducting a manually assisted inductive proof, we could show equivalence of the full AES encryption process. 1