2,925 research outputs found
Incremental bounded model checking for embedded software
Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated verification tools based on bounded model checking (BMC). Existing industrial tools for embedded software use an off-the-shelf bounded model checker and apply it iteratively to verify the program with an increasing number of unwindings. This approach unnecessarily wastes time repeating work that has already been done and fails to exploit the power of incremental SAT solving. This article reports on the extension of the software model checker CBMC to support incremental BMC and its successful integration with the industrial embedded software verification tool BTC EMBEDDED TESTER. We present an extensive evaluation over large industrial embedded programs, mainly from the automotive industry. We show that incremental BMC cuts runtimes by one order of magnitude in comparison to the standard non-incremental approach, enabling the application of formal verification to large and complex embedded software. We furthermore report promising results on analysing programs with arbitrary loop structure using incremental BMC, demonstrating its applicability and potential to verify general software beyond the embedded domain
k-Step Relative Inductive Generalization
We introduce a new form of SAT-based symbolic model checking. One common idea
in SAT-based symbolic model checking is to generate new clauses from states
that can lead to property violations. Our previous work suggests applying
induction to generalize from such states. While effective on some benchmarks,
the main problem with inductive generalization is that not all such states can
be inductively generalized at a given time in the analysis, resulting in long
searches for generalizable states on some benchmarks. This paper introduces the
idea of inductively generalizing states relative to -step
over-approximations: a given state is inductively generalized relative to the
latest -step over-approximation relative to which the negation of the state
is itself inductive. This idea motivates an algorithm that inductively
generalizes a given state at the highest level so far examined, possibly by
generating more than one mutually -step relative inductive clause. We
present experimental evidence that the algorithm is effective in practice.Comment: 14 page
Automated Benchmarking of Incremental SAT and QBF Solvers
Incremental SAT and QBF solving potentially yields improvements when
sequences of related formulas are solved. An incremental application is usually
tailored towards some specific solver and decomposes a problem into incremental
solver calls. This hinders the independent comparison of different solvers,
particularly when the application program is not available. As a remedy, we
present an approach to automated benchmarking of incremental SAT and QBF
solvers. Given a collection of formulas in (Q)DIMACS format generated
incrementally by an application program, our approach automatically translates
the formulas into instructions to import and solve a formula by an incremental
SAT/QBF solver. The result of the translation is a program which replays the
incremental solver calls and thus allows to evaluate incremental solvers
independently from the application program. We illustrate our approach by
different hardware verification problems for SAT and QBF solvers.Comment: camera-ready version (8 pages + 2 pages appendix), to appear in the
proceedings of the 20th International Conference on Logic for Programming,
Artificial Intelligence and Reasoning (LPAR), LNCS, Springer, 201
Incremental QBF Solving
We consider the problem of incrementally solving a sequence of quantified
Boolean formulae (QBF). Incremental solving aims at using information learned
from one formula in the process of solving the next formulae in the sequence.
Based on a general overview of the problem and related challenges, we present
an approach to incremental QBF solving which is application-independent and
hence applicable to QBF encodings of arbitrary problems. We implemented this
approach in our incremental search-based QBF solver DepQBF and report on
implementation details. Experimental results illustrate the potential benefits
of incremental solving in QBF-based workflows.Comment: revision (camera-ready, to appear in the proceedings of CP 2014,
LNCS, Springer
Conformant Planning as a Case Study of Incremental QBF Solving
We consider planning with uncertainty in the initial state as a case study of
incremental quantified Boolean formula (QBF) solving. We report on experiments
with a workflow to incrementally encode a planning instance into a sequence of
QBFs. To solve this sequence of incrementally constructed QBFs, we use our
general-purpose incremental QBF solver DepQBF. Since the generated QBFs have
many clauses and variables in common, our approach avoids redundancy both in
the encoding phase and in the solving phase. Experimental results show that
incremental QBF solving outperforms non-incremental QBF solving. Our results
are the first empirical study of incremental QBF solving in the context of
planning and motivate its use in other application domains.Comment: added reference to extended journal article; revision (camera-ready,
to appear in the proceedings of AISC 2014, volume 8884 of LNAI, Springer
Satisfiability Modulo Transcendental Functions via Incremental Linearization
In this paper we present an abstraction-refinement approach to Satisfiability
Modulo the theory of transcendental functions, such as exponentiation and
trigonometric functions. The transcendental functions are represented as
uninterpreted in the abstract space, which is described in terms of the
combined theory of linear arithmetic on the rationals with uninterpreted
functions, and are incrementally axiomatized by means of upper- and
lower-bounding piecewise-linear functions. Suitable numerical techniques are
used to ensure that the abstractions of the transcendental functions are sound
even in presence of irrationals. Our experimental evaluation on benchmarks from
verification and mathematics demonstrates the potential of our approach,
showing that it compares favorably with delta-satisfiability /interval
propagation and methods based on theorem proving
Strengthening Model Checking Techniques with Inductive Invariants
This paper describes optimized techniques to efficiently compute and reap benefits from inductive invariants within SAT-based model checking. We address sequential circuit verification, and we consider both equivalences and implications between pairs of nodes in the logic networks. First, we present a very efficient dynamic procedure, based on equivalence classes and incremental SAT, specifically oriented to reduce the set of checked invariants. Then, we show how to effectively integrate the computation of inductive invariants within state-of-the-art SAT-based model checking procedures. Experiments (on more than 600 designs) show the robustness of our approach on verification instances on which stand-alone techniques fai
- …