74 research outputs found
Pushing the envelope of Optimization Modulo Theories with Linear-Arithmetic Cost Functions
In the last decade we have witnessed an impressive progress in the
expressiveness and efficiency of Satisfiability Modulo Theories (SMT) solving
techniques. This has brought previously-intractable problems at the reach of
state-of-the-art SMT solvers, in particular in the domain of SW and HW
verification. Many SMT-encodable problems of interest, however, require also
the capability of finding models that are optimal wrt. some cost functions. In
previous work, namely "Optimization Modulo Theory with Linear Rational Cost
Functions -- OMT(LAR U T )", we have leveraged SMT solving to handle the
minimization of cost functions on linear arithmetic over the rationals, by
means of a combination of SMT and LP minimization techniques. In this paper we
push the envelope of our OMT approach along three directions: first, we extend
it to work also with linear arithmetic on the mixed integer/rational domain, by
means of a combination of SMT, LP and ILP minimization techniques; second, we
develop a multi-objective version of OMT, so that to handle many cost functions
simultaneously; third, we develop an incremental version of OMT, so that to
exploit the incrementality of some OMT-encodable problems. An empirical
evaluation performed on OMT-encoded verification problems demonstrates the
usefulness and efficiency of these extensions.Comment: A slightly-shorter version of this paper is published at TACAS 2015
conferenc
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
Optimization Modulo Theories with Linear Rational Costs
In the contexts of automated reasoning (AR) and formal verification (FV),
important decision problems are effectively encoded into Satisfiability Modulo
Theories (SMT). In the last decade efficient SMT solvers have been developed
for several theories of practical interest (e.g., linear arithmetic, arrays,
bit-vectors). Surprisingly, little work has been done to extend SMT to deal
with optimization problems; in particular, we are not aware of any previous
work on SMT solvers able to produce solutions which minimize cost functions
over arithmetical variables. This is unfortunate, since some problems of
interest require this functionality.
In the work described in this paper we start filling this gap. We present and
discuss two general procedures for leveraging SMT to handle the minimization of
linear rational cost functions, combining SMT with standard minimization
techniques. We have implemented the procedures within the MathSAT SMT solver.
Due to the absence of competitors in the AR, FV and SMT domains, we have
experimentally evaluated our implementation against state-of-the-art tools for
the domain of linear generalized disjunctive programming (LGDP), which is
closest in spirit to our domain, on sets of problems which have been previously
proposed as benchmarks for the latter tools. The results show that our tool is
very competitive with, and often outperforms, these tools on these problems,
clearly demonstrating the potential of the approach.Comment: Submitted on january 2014 to ACM Transactions on Computational Logic,
currently under revision. arXiv admin note: text overlap with arXiv:1202.140
Optimization in SMT with LA(Q) Cost Functions
In the contexts of automated reasoning and formal verification, important
decision problems are effectively encoded into Satisfiability Modulo Theories
(SMT). In the last decade efficient SMT solvers have been developed for several
theories of practical interest (e.g., linear arithmetic, arrays, bit-vectors).
Surprisingly, very few work has been done to extend SMT to deal with
optimization problems; in particular, we are not aware of any work on SMT
solvers able to produce solutions which minimize cost functions over
arithmetical variables. This is unfortunate, since some problems of interest
require this functionality.
In this paper we start filling this gap. We present and discuss two general
procedures for leveraging SMT to handle the minimization of LA(Q) cost
functions, combining SMT with standard minimization techniques. We have
implemented the proposed approach within the MathSAT SMT solver. Due to the
lack of competitors in AR and SMT domains, we experimentally evaluated our
implementation against state-of-the-art tools for the domain of linear
generalized disjunctive programming (LGDP), which is closest in spirit to our
domain, on sets of problems which have been previously proposed as benchmarks
for the latter tools. The results show that our tool is very competitive with,
and often outperforms, these tools on these problems, clearly demonstrating the
potential of the approach.Comment: A shorter version is currently under submissio
Satisfiability of Non-Linear Transcendental Arithmetic as a Certificate Search Problem
For typical first-order logical theories, satisfying assignments have a
straightforward finite representation that can directly serve as a certificate
that a given assignment satisfies the given formula. For non-linear real
arithmetic with transcendental functions, however, no general finite
representation of satisfying assignments is available. Hence, in this paper, we
introduce a different form of satisfiability certificate for this theory,
formulate the satisfiability verification problem as the problem of searching
for such a certificate, and show how to perform this search in a systematic
fashion. This does not only ease the independent verification of results, but
also allows the systematic design of new, efficient search techniques.
Computational experiments document that the resulting method is able to prove
satisfiability of a substantially higher number of benchmark problems than
existing methods
Integrated formal verification of safety-critical software
This work presents a formal verification process based on the Systerel Smart Solver (S3) toolset for the development of safety-critical embedded software. In order to guarantee the correctness of the implementation of a set of textual requirements, the process integrates different verification techniques (inductive proof, bounded model checking, test case generation and equivalence proof) to handle different types of properties at their best capacities. It is aimed at the verification of properties at system, design, and code levels. To handle the floating-point arithmetic (FPA) in both the design and the code, an FPA library is designed and implemented in S3. This work is illustrated on an Automatic Rover Protection (ARP) system implemented on-board a robot. Focus is placed on the verification of safety and functional properties and on the equivalence proof between the design model and the generated code
- …