English
Related papers

Related papers: Interpolation and the Array Property Fragment

200 papers

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…

Logic in Computer Science · Computer Science 2015-07-01 Roberto Bruttomesso , Silvio Ghilardi , Silvio Ranise

We present a generic tree-interpolation algorithm in the SMT context with quantifiers. The algorithm takes a proof of unsatisfiability using resolution and quantifier instantiation and computes interpolants (which may contain quantifiers).…

Logic in Computer Science · Computer Science 2023-05-22 Elisabeth Henkel , Jochen Hoenicke , Tanja Schindler

Existing techniques for Craig interpolation for the quantifier-free fragment of the theory of arrays are inefficient for computing sequence and tree interpolants: the solver needs to run for every partitioning $(A, B)$ of the interpolation…

Logic in Computer Science · Computer Science 2018-08-06 Jochen Hoenicke , Tanja Schindler

Interpolation-based techniques have been widely and successfully applied in the verification of hardware and software, e.g., in bounded-model check- ing, CEGAR, SMT, etc., whose hardest part is how to synthesize interpolants. Various work…

Logic in Computer Science · Computer Science 2013-03-05 Liyun Dai , Bican Xia , Naijun Zhan

We present a new model-based interpolation procedure for satisfiability modulo theories (SMT). The procedure uses a new mode of interaction with the SMT solver that we call solving modulo a model. This either extends a given partial model…

Logic in Computer Science · Computer Science 2021-06-09 Dejan Jovanović , Bruno Dutertre

The article "Interpolation and SAT-Based Model Checking" (McMillan, 2003) describes a formal-verification algorithm, which was originally devised to verify safety properties of finite-state transition systems. It derives interpolants from…

Software Engineering · Computer Science 2024-03-14 Dirk Beyer , Nian-Ze Lee , Philipp Wendler

We propose Splinter, a new technique for proving properties of heap-manipulating programs that marries (1) a new separation logic-based analysis for heap reasoning with (2) an interpolation-based technique for refining heap-shape invariants…

Logic in Computer Science · Computer Science 2015-01-20 Aws Albarghouthi , Josh Berdine , Byron Cook , Zachary Kincaid

Interpolation of jointly infeasible predicates plays important roles in various program verification techniques such as invariant synthesis and CEGAR. Intrigued by the recent result by Dai et al.\ that combines real algebraic geometry and…

Logic in Computer Science · Computer Science 2017-09-04 Takamasa Okudono , Yuki Nishida , Kensuke Kojima , Kohei Suenaga , Kengo Kido , Ichiro Hasuo

Craig interpolation is a widespread method in verification, with important applications such as Predicate Abstraction, CounterExample Guided Abstraction Refinement and Lazy Abstraction With Interpolants. Most state-of-the-art model checking…

Logic in Computer Science · Computer Science 2014-04-16 Arie Gurfinkel , Simone Fulvio Rollini , Natasha Sharygina

The use of interpolants in verification is gaining more and more importance. Since theories used in applications are usually obtained as (disjoint) combinations of simpler theories, it is important to modularly re-use interpolation…

Logic in Computer Science · Computer Science 2012-04-25 Roberto Bruttomesso , Silvio Ghilardi , Silvio Ranise

Craig interpolation in SMT is difficult because, e. g., theory combination and integer cuts introduce mixed literals, i. e., literals containing local symbols from both input formulae. In this paper, we present a scheme to compute Craig…

Logic in Computer Science · Computer Science 2017-05-16 Jürgen Christ , Jochen Hoenicke , Alexander Nutz

Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and to express properties of arrays. SMT-based verifiers typically reason about them via…

Programming Languages · Computer Science 2021-12-15 Alexandra Bugariu , Arshavir Ter-Gabrielyan , Peter Müller

Interpolation is an essential tool in software verification, where first-order theories are used to constrain datatypes manipulated by programs. In this paper, we introduce the datatype theory of contiguous arrays with maxdiff, where arrays…

Logic in Computer Science · Computer Science 2022-04-26 Silvio Ghilardi , Alessandro Gianola , Deepak Kapur , Chiara Naso

Software model checking is a challenging problem, and generating relevant invariants is a key factor in proving the safety properties of a program. Program invariants can be obtained by various approaches, including lightweight procedures…

Software Engineering · Computer Science 2024-10-28 Dirk Beyer , Po-Chun Chien , Nian-Ze Lee

Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories of data types that commonly occur in software. This makes them important tools for automating verification problems. A limitation frequently…

Logic in Computer Science · Computer Science 2015-08-28 Kshitij Bansal , Andrew Reynolds , Tim King , Clark Barrett , Thomas Wies

Nonlinear interpolants have been shown useful for the verification of programs and hybrid systems in contexts of theorem proving, model checking, abstract interpretation, etc. The underlying synthesis problem, however, is challenging and…

Logic in Computer Science · Computer Science 2019-08-29 Mingshuai Chen , Jian Wang , Jie An , Bohua Zhan , Deepak Kapur , Naijun Zhan

The paper focuses on the automatic generating of the witnesses for the word equation satisfiability problem by means of specializing an interpreter which tests whether a composition of variable substitutions of a given word equation system…

Programming Languages · Computer Science 2021-09-08 Antonina Nepeivoda

Craig interpolation is a fundamental property of classical and non-classic logics with a plethora of applications from philosophical logic to computer-aided verification. The question of which interpolants can be obtained from an…

Logic in Computer Science · Computer Science 2025-01-14 Stefan Hetzl , Raheleh Jalali

SMT solvers use sophisticated techniques for polynomial (linear or non-linear) integer arithmetic. In contrast, non-polynomial integer arithmetic has mostly been neglected so far. However, in the context of program verification, polynomials…

Logic in Computer Science · Computer Science 2025-08-29 Florian Frohn , Jürgen Giesl

SMT solvers have been used successfully as reasoning engines for automated verification and other applications based on automated reasoning. Current techniques for dealing with quantified formulas in SMT are generally incomplete, forcing…

Logic in Computer Science · Computer Science 2017-06-02 Andrew Reynolds , Cesare Tinelli , Clark Barrett
‹ Prev 1 2 3 10 Next ›