10 research outputs found

    Quantifier-Free Interpolation of a Theory of Arrays

    Get PDF
    The use of interpolants in model checking is becoming an enabling technology to allow fast and robust verification of hardware and software. The application of encodings based on the theory of arrays, however, is limited by the impossibility of deriving quantifier- free interpolants in general. In this paper, we show that it is possible to obtain quantifier-free interpolants for a Skolemized version of the extensional theory of arrays. We prove this in two ways: (1) non-constructively, by using the model theoretic notion of amalgamation, which is known to be equivalent to admit quantifier-free interpolation for universal theories; and (2) constructively, by designing an interpolating procedure, based on solving equations between array updates. (Interestingly, rewriting techniques are used in the key steps of the solver and its proof of correctness.) To the best of our knowledge, this is the first successful attempt of computing quantifier- free interpolants for a variant of the theory of arrays with extensionality

    Delayed theory combination vs. Nelson-Oppen for satisfiability modulo theories: a comparative analysis

    Get PDF
    Most state-of-the-art approaches for Satisfiability Modulo Theories (SMT(T))(SMT(\mathcal{T})) rely on the integration between a SAT solver and a decision procedure for sets of literals in the background theory T(T-solver)\mathcal{T} (\mathcal{T}{\text {-}}solver) . Often T\mathcal{T} is the combination T1T2\mathcal{T}_1 \cup \mathcal{T}_2 of two (or more) simpler theories (SMT(T1T2))(SMT(\mathcal{T}_1 \cup \mathcal{T}_2)) , s.t. the specific Ti-solvers{\mathcal{T}_i}{\text {-}}solvers must be combined. Up to a few years ago, the standard approach to SMT(T1T2)SMT(\mathcal{T}_1 \cup \mathcal{T}_2) was to integrate the SAT solver with one combined T1T2-solver\mathcal{T}_1 \cup \mathcal{T}_2{\text {-}}solver , obtained from two distinct Ti-solvers{\mathcal{T}_i}{\text {-}}solvers by means of evolutions of Nelson and Oppen's (NO) combination procedure, in which the Ti-solvers{\mathcal{T}_i}{\text {-}}solvers deduce and exchange interface equalities. Nowadays many state-of-the-art SMT solvers use evolutions of a more recent SMT(T1T2)SMT(\mathcal{T}_1 \cup \mathcal{T}_2) procedure called Delayed Theory Combination (DTC), in which each Ti-solver{\mathcal{T}_i}{\text {-}}solver interacts directly and only with the SAT solver, in such a way that part or all of the (possibly very expensive) reasoning effort on interface equalities is delegated to the SAT solver itself. In this paper we present a comparative analysis of DTC vs. NO for SMT(T1T2)SMT(\mathcal{T}_1 \cup \mathcal{T}_2) . On the one hand, we explain the advantages of DTC in exploiting the power of modern SAT solvers to reduce the search. On the other hand, we show that the extra amount of Boolean search required to the SAT solver can be controlled. In fact, we prove two novel theoretical results, for both convex and non-convex theories and for different deduction capabilities of the Ti-solvers{\mathcal{T}_i}{\text {-}}solvers , which relate the amount of extra Boolean search required to the SAT solver by DTC with the number of deductions and case-splits required to the Ti-solvers{\mathcal{T}_i}{\text {-}}solvers by NO in order to perform the same tasks: (i) under the same hypotheses of deduction capabilities of the Ti-solvers{\mathcal{T}_i}{\text {-}}solvers required by NO, DTC causes no extra Boolean search; (ii) using Ti-solvers{\mathcal{T}_i}{\text {-}}solvers with limited or no deduction capabilities, the extra Boolean search required can be reduced down to a negligible amount by controlling the quality of the T\mathcal{T} -conflict sets returned by the ${\mathcal{T}_i}{\text {-}}solvers

    New results on rewrite-based satisfiability procedures

    Full text link
    Program analysis and verification require decision procedures to reason on theories of data structures. Many problems can be reduced to the satisfiability of sets of ground literals in theory T. If a sound and complete inference system for first-order logic is guaranteed to terminate on T-satisfiability problems, any theorem-proving strategy with that system and a fair search plan is a T-satisfiability procedure. We prove termination of a rewrite-based first-order engine on the theories of records, integer offsets, integer offsets modulo and lists. We give a modularity theorem stating sufficient conditions for termination on a combinations of theories, given termination on each. The above theories, as well as others, satisfy these conditions. We introduce several sets of benchmarks on these theories and their combinations, including both parametric synthetic benchmarks to test scalability, and real-world problems to test performances on huge sets of literals. We compare the rewrite-based theorem prover E with the validity checkers CVC and CVC Lite. Contrary to the folklore that a general-purpose prover cannot compete with reasoners with built-in theories, the experiments are overall favorable to the theorem prover, showing that not only the rewriting approach is elegant and conceptually simple, but has important practical implications.Comment: To appear in the ACM Transactions on Computational Logic, 49 page

    Efficient Satisfiability Modulo Theories via Delayed Theory Combination

    No full text
    The problem of deciding the satisfiability of a quantifier-free formula with respect to a background theory, also known as Satisfiability Modulo Theories (smt), is gaining increasing relevance in verification: representation capabilities beyond propositional logic allow for a natural modeling of real-world problems (e.g., pipeline and RTL circuits verification, proof obligations in software systems). In this paper, we focus on the case where the background theory is the combination T1 U T2 of two simpler theories. Many smt procedures combine a boolean model enumeration with a decision procedure for T1 U T2, where conjunctions of literals can be decided by an integration schema such as Nelson-Oppen, via a structured exchange of interface formulae (e.g., equalities in the case of convex theories, disjunctions of equalities otherwise). We propose a new approach for SMT(T1 U T2), called Delayed Theory Combination, which does not require a decision procedure for T1 U T2, but only individual decision procedures for T1 and T2, which are directly integrated to the boolean model enumerator. This approach is much simpler and natural, allows each of the solvers to be implemented and optimized without taking into account the others, and it nicely encompasses the case of non-convex theories. We show the effectiveness of the approach by a thorough experimental compariso

    Relational Reasoning - Constraint Solving, Deduction, and Program Verification

    Get PDF
    This dissertation exploits the formal methods paradigm in which the software system and its specification are transformed to a logical formula, such that the formula is valid iff the specification is correct. The thesis provides a reasoning framework for the verification of software systems against relational specifications written in a first-order relational logic. The system description can be given either at the abstract relational level or at the detailed implementation level

    Model Checking and Model-Based Testing : Improving Their Feasibility by Lazy Techniques, Parallelization, and Other Optimizations

    Get PDF
    This thesis focuses on the lightweight formal method of model-based testing for checking safety properties, and derives a new and more feasible approach. For liveness properties, dynamic testing is impossible, so feasibility is increased by specializing on an important class of properties, livelock freedom, and deriving a more feasible model checking algorithm for it. All mentioned improvements are substantiated by experiments
    corecore