117 research outputs found
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 first order 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 state of the art 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.Comment: submitted to ACM Transactions on Computational Logic (TOCL
Splitting Proofs for Interpolation
We study interpolant extraction from local first-order refutations. We
present a new theoretical perspective on interpolation based on clearly
separating the condition on logical strength of the formula from the
requirement on the com- mon signature. This allows us to highlight the space of
all interpolants that can be extracted from a refutation as a space of simple
choices on how to split the refuta- tion into two parts. We use this new
insight to develop an algorithm for extracting interpolants which are linear in
the size of the input refutation and can be further optimized using metrics
such as number of non-logical symbols or quantifiers. We implemented the new
algorithm in first-order theorem prover VAMPIRE and evaluated it on a large
number of examples coming from the first-order proving community. Our
experiments give practical evidence that our work improves the state-of-the-art
in first-order interpolation.Comment: 26th Conference on Automated Deduction, 201
Efficient Interpolant Generation in Satisfiability Modulo Theories
The problem of computing Craig Interpolants for propositional (SAT) formulas has recently received a lot of interest, mainly for its applications in formal verification. However, propositional logic is often not expressive enough for representing many interesting verification problems, which can be more naturally addressed in the framework of Satisfiability Modulo Theories, SMT. Although {some} works have addressed the topic of generating interpolants in SMT, the techniques and tools that are currently available have some limitations, and their performance still does not exploit the full power of current state-of-the-art SMT solvers. In this paper we try to close this gap. We present several techniques for interpolant generation in SMT which overcome the limitations of the current generators mentioned above, and which take full advantage of state-of-the-art SMT technology. These novel techniques can lead to substantial performance improvements wrt. the currently available tools. We support our claims with an extensive experimental evaluation of our implementation of the proposed techniques in the MathSAT SMT solver
Interpolant-Based Transition Relation Approximation
In predicate abstraction, exact image computation is problematic, requiring
in the worst case an exponential number of calls to a decision procedure. For
this reason, software model checkers typically use a weak approximation of the
image. This can result in a failure to prove a property, even given an adequate
set of predicates. We present an interpolant-based method for strengthening the
abstract transition relation in case of such failures. This approach guarantees
convergence given an adequate set of predicates, without requiring an exact
image computation. We show empirically that the method converges more rapidly
than an earlier method based on counterexample analysis.Comment: Conference Version at CAV 2005. 17 Pages, 9 Figure
Controlled and effective interpolation
Model checking is a well established technique to verify systems, exhaustively and automatically. The state space explosion, known as the main difficulty in model checking scalability, has been successfully approached by symbolic model checking which represents programs using logic, usually at the propositional or first order theories level. Craig interpolation is one of the most successful abstraction techniques used in symbolic methods. Interpolants can be efficiently generated from proofs of unsatisfiability, and have been used as means of over-approximation to generate inductive invariants, refinement predicates, and function summaries. However, interpolation is still not fully understood. For several theories it is only possible to generate one interpolant, giving the interpolation-based application no chance of further optimization via interpolation. For the theories that have interpolation systems that are able to generate different interpolants, it is not understood what makes one interpolant better than another, and how to generate the most suitable ones for a particular verification task. The goal of this thesis is to address the problems of how to generate multiple interpolants for theories that still lack this flexibility in their interpolation algorithms, and how to aim at good interpolants. This thesis extends the state-of-the-art by introducing novel interpolation frameworks for different theories. For propositional logic, this work provides a thorough theoretical analysis showing which properties are desirable in a labeling function for the Labeled Interpolation Systems framework (LIS). The Proof-Sensitive labeling function is presented, and we prove that it generates interpolants with the smallest number of Boolean connectives in the entire LIS framework. Two variants that aim at controlling the logical strength of propositional interpolants while maintaining a small size are given. The new interpolation algorithms are compared to previous ones from the literature in different model checking settings, showing that they consistently lead to a better overall verification performance. The Equalities and Uninterpreted Functions (EUF)-interpolation system, presented in this thesis, is a duality-based interpolation framework capable of generating multiple interpolants for a single proof of unsatisfiability, and provides control over the logical strength of the interpolants it generates using labeling functions. The labeling functions can be theoretically compared with respect to their strength, and we prove that two of them generate the interpolants with the smallest number of equalities. Our experiments follow the theory, showing that the generated interpolants indeed have different logical strength. We combine propositional and EUF interpolation in a model checking setting, and show that the strength of the interpolation algorithms for different theories has to be aligned in order to generate smaller interpolants. This work also introduces the Linear Real Arithmetic (LRA)-interpolation system, an interpolation framework for LRA. The framework is able to generate infinitely many interpolants of different logical strength using the duality of interpolants. The strength of the LRA interpolants can be controlled by a normalized strength factor, which makes it straightforward for an interpolationbased application to choose the level of strength it wants for the interpolants. Our experiments with the LRA-interpolation system and a model checker show that it is very important for the application to be able to fine tune the strength of the LRA interpolants in order to achieve optimal performance. The interpolation frameworks were implemented and form the interpolation module in OpenSMT2, an open source efficient SMT solver. OpenSMT2 has been integrated to the propositional interpolation-based model checkers FunFrog and eVolCheck, and to the first order interpolation-based model checkerHiFrog. This thesis presents real life model checking experiments using the novel interpolation frameworks and the tools aforementioned, showing the viability and strengths of the techniques
Generalized Craig Interpolation for Stochastic Boolean Satisfiability Problems with Applications to Probabilistic State Reachability and Region Stability
The stochastic Boolean satisfiability (SSAT) problem has been introduced by
Papadimitriou in 1985 when adding a probabilistic model of uncertainty to
propositional satisfiability through randomized quantification. SSAT has many
applications, among them probabilistic bounded model checking (PBMC) of
symbolically represented Markov decision processes. This article identifies a
notion of Craig interpolant for the SSAT framework and develops an algorithm
for computing such interpolants based on a resolution calculus for SSAT. As a
potential application area of this novel concept of Craig interpolation, we
address the symbolic analysis of probabilistic systems. We first investigate
the use of interpolation in probabilistic state reachability analysis, turning
the falsification procedure employing PBMC into a verification technique for
probabilistic safety properties. We furthermore propose an interpolation-based
approach to probabilistic region stability, being able to verify that the
probability of stabilizing within some region is sufficiently large
Thoughts about using Constraint Solvers in Action
SMT solvers power many automated security analysis tools today. Nevertheless, a smooth integration of SMT solvers into programs is still a challenge that lead to different approaches for doing it the right way. In this paper, we review the state of the art for interacting with constraint solvers. Based on the different ideas found in literature we deduce requirements for a constraint solving service simplifying the integration challenge. We identify that for some of those ideas, it is required to run large scale experiments for evaluating some of the ideas behind the requirements empirically. We show that the platform is capable of running such an experiment for the case of measuring the impacts of seeds on the solver runtime
- …