English
Related papers

Related papers: Interpolation and the Array Property Fragment

200 papers

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

Many SMT solvers implement efficient SAT-based procedures for solving fixed-size bit-vector formulas. These approaches, however, cannot be used directly to reason about bit-vectors of symbolic bit-width. To address this shortcoming, we…

Logic in Computer Science · Computer Science 2019-07-02 Aina Niemetz , Mathias Preiner , Andrew Reynolds , Yoni Zohar , Clark Barrett , Cesare Tinelli

Given a straight-line program whose output is a polynomial function of the inputs, we present a new algorithm to compute a concise representation of that unknown function. Our algorithm can handle any case where the unknown function is a…

Symbolic Computation · Computer Science 2014-12-16 Andrew Arnold , Mark Giesbrecht , Daniel S. Roche

Interpolation is an important property of classical and many non-classical logics that has been shown to have interesting applications in computer science and AI. Here we study the Interpolation Property for the the non-monotonic system of…

Logic in Computer Science · Computer Science 2014-01-17 Dov Gabbay , David Pearce , Agustín Valverde

Many real applications problems can be encoded easily as quantified formulas in SMT. However, this simplicity comes at the cost of difficulty during solving by SMT solvers. Different strategies and quantifier instantiation techniques have…

Logic in Computer Science · Computer Science 2025-08-13 Mudathir Mohamed , Nick Feng , Andrew Reynolds , Cesare Tinelli , Clark Barrett , Marsha Chechik

Program verification on concurrent programs is a big challenge due to general undecidable results. Petri nets and its extensions are used in most works. However, existing verifiers based on Petri nets are difficult to be complete and…

Logic in Computer Science · Computer Science 2021-10-26 Ying Zhao , Jinhao Tan , Guoqiang Li

In a common formulation of semi-infinite programs, the infinite constraint set is a requirement that a function parametrized by the decision variables is nonnegative over an interval. If this function is sufficiently closely approximable by…

Optimization and Control · Mathematics 2017-03-24 Dávid Papp

Craig interpolation has become a versatile algorithmic tool for improving software verification. Interpolants can, for instance, accelerate the convergence of fixpoint computations for infinite-state systems. They also help improve the…

Logic in Computer Science · Computer Science 2008-11-24 Angelo Brillout , Daniel Kroening , Thomas Wahl

Craig interpolation is used in program verification for automating key tasks such as the inference of loop invariants and the computation of program abstractions. This chapter covers some of the most important techniques that have been…

Logic in Computer Science · Computer Science 2026-02-10 Philipp Rümmer

We study the problem of space and time efficient evaluation of a nonparametric estimator that approximates an unknown density. In the regime where consistent estimation is possible, we use a piecewise multivariate polynomial interpolation…

Statistics Theory · Mathematics 2020-11-11 Paxton Turner , Jingbo Liu , Philippe Rigollet

We present a verification technique for program safety that combines Iterated Specialization and Interpolating Horn Clause Solving. Our new method composes together these two techniques in a modular way by exploiting the common Horn Clause…

Logic in Computer Science · Computer Science 2014-12-04 Emanuele De Angelis , Fabio Fioravanti , Jorge A. Navas , Maurizio Proietti

We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with…

Logic in Computer Science · Computer Science 2021-03-16 Georg Schmid , Viktor Kunčak

Despite decades of research, there are still a number of concepts commonly found in software programs that are considered challenging for verification: among others, such concepts include concurrency, and the compositional analysis of…

Logic in Computer Science · Computer Science 2013-02-19 Philipp Rümmer , Hossein Hojjat , Viktor Kuncak

We address the problem of reasoning about interleavings in safety verification of concurrent programs. In the literature, there are two prominent techniques for pruning the search space. First, there are well-investigated trace-based…

Logic in Computer Science · Computer Science 2014-08-06 Duc-Hiep Chu , Joxan Jaffar

In this paper, we investigate property testing whether or not a degree d multivariate poly- nomial is a sum of squares or is far from a sum of squares. We show that if we require that the property tester always accepts YES instances and…

Computational Complexity · Computer Science 2017-09-12 Aaron Potechin , Liu Yang

The Why3 IDE and verification system facilitates the use of a wide range of Satisfiability Modulo Theories (SMT) solvers through a driver-based architecture. We present Where4: a portfolio-based approach to discharge Why3 proof obligations.…

Software Engineering · Computer Science 2017-01-31 Andrew Healy , Rosemary Monahan , James F. Power

Software model checkers based on under-approximations and SMT solvers are very successful at verifying safety (i.e. reachability) properties. They combine two key ideas -- (a) "concreteness": a counterexample in an under-approximation is a…

Logic in Computer Science · Computer Science 2013-06-11 Anvesh Komuravelli , Arie Gurfinkel , Sagar Chaki , Edmund M. Clarke

This technical report presents implementation of two symbolic model checking algorithms that use SAT/SMT Solvers, namely interpolation based model checking and k-induction based model checking. We also do a comparative analysis of these two…

Logic in Computer Science · Computer Science 2022-07-05 Tephilla Prince , Atif Abdur Rahman , Sheerazuddin Syed

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

Incorrectness Separation Logic (ISL) is a proof system designed to automate verification and detect bugs in programs manipulating heap memories. In this study, we extend ISL to support variable-length array predicates and pointer…

Logic in Computer Science · Computer Science 2025-03-04 Yeonseok Lee , Koji Nakazawa