English
Related papers

Related papers: An encoding of array verification problems into ar…

200 papers

Arrays are commonly used in a variety of software to store and process data in loops. Automatically proving safety properties of such programs that manipulate arrays is challenging. We present a novel verification technique, called…

Programming Languages · Computer Science 2022-09-27 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…

Logic in Computer Science · Computer Science 2017-08-25 G. W. Hamilton

We present a compositional SMT-based algorithm for safety of procedural C programs that takes the heap into consideration as well. Existing SMT-based approaches are either largely restricted to handling linear arithmetic operations and…

Logic in Computer Science · Computer Science 2015-08-07 Anvesh Komuravelli , Nikolaj Bjorner , Arie Gurfinkel , Kenneth L. McMillan

One of the main challenges in the verification of software systems is the analysis of unbounded data structures with dynamic memory allocation, such as linked data structures and arrays. We describe Bohne, a new analysis for verifying data…

Programming Languages · Computer Science 2007-05-23 Thomas Wies , Viktor Kuncak , Karen Zee , Andreas Podelski , Martin Rinard

Hyperproperties govern the behavior of a system or systems across multiple executions, and are being recognized as an important extension of regular temporal properties. So far, such properties have resisted comprehensive treatment by…

Logic in Computer Science · Computer Science 2024-02-02 Shachar Itzhaky , Sharon Shoham , Yakir Vizel

We present an approach to constrained Horn clause (CHC) verification combining three techniques: abstract interpretation over a domain of convex polyhedra, specialisation of the constraints in CHCs using abstract interpretation of…

Logic in Computer Science · Computer Science 2014-12-04 Bishoksan Kafle , John P. Gallagher

Constrained Horn Clauses (CHCs) have conventionally been used as a low-level representation in formal verification. Most existing solvers use a diverse set of specialized techniques, including direct state space traversal or…

Logic in Computer Science · Computer Science 2024-04-24 Márk Somorjai , Mihály Dobos-Kovács , Zsófia Ádám , Levente Bajczi , András Vörös

Linear constraints are the linear counterpart of Haskell's class constraints. Linearly typed parameters allow the programmer to control resources such as file handles and manually managed memory as linear arguments. Indeed, a linear type…

Programming Languages · Computer Science 2026-04-24 Arnaud Spiwack , Csongor Kiss , Jean-Philippe Bernardy , Nicolas Wu , Richard A. Eisenberg

Horn-satisfiability or Horn-SAT is the problem of deciding whether a satisfying assignment exists for a Horn formula, a conjunction of clauses each with at most one positive literal (also known as Horn clauses). It is a well-known…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-26 Ananth Hari , Uzi Vishkin

In this paper we investigate the use of the concept of tree dimension in Horn clause analysis and verification. The dimension of a tree is a measure of its non-linearity - for example a list of any length has dimension zero while a complete…

Logic in Computer Science · Computer Science 2015-12-15 Bishoksan Kafle , John P. Gallagher , Pierre Ganty

Abstraction is a successful technique in software verification, and interpolation on infeasible error paths is a successful approach to automatically detect the right level of abstraction in counterexample-guided abstraction refinement.…

Software Engineering · Computer Science 2015-02-03 Dirk Beyer , Stefan Löwe , Philipp Wendler

Many constraint satisfaction and optimisation problems can be solved effectively by encoding them as instances of the Boolean Satisfiability problem (SAT). However, even the simplest types of constraints have many encodings in the…

Artificial Intelligence · Computer Science 2023-11-09 Felix Ulrich-Oltean , Peter Nightingale , James Alfred Walker

Control-flow refinement refers to program transformations whose purpose is to make implicit control-flow explicit, and is used in the context of program analysis to increase precision. Several techniques have been suggested for different…

Programming Languages · Computer Science 2019-08-01 Jesús J. Doménech , John P. Gallagher , Samir Genaim

Traditional methods for formal verification (FV) of deep neural networks (DNNs) are constrained by a binary encoding of safety properties, where a model is classified as either safe or unsafe (robust or not robust). This binary encoding…

Artificial Intelligence · Computer Science 2025-05-09 Luca Marzari , Isabella Mastroeni , Alessandro Farinelli

We present an approach for the static analysis of programs handling arrays, with a Galois connection between the semantics of the array program and semantics of purely scalar operations. The simplest way to implement it is by automatic,…

Programming Languages · Computer Science 2015-06-16 David Monniaux , Francesco Alberti

Verification of higher-order probabilistic programs is a challenging problem. We present a verification method that supports several quantitative properties of higher-order probabilistic programs. Usually, extending verification methods to…

Logic in Computer Science · Computer Science 2024-07-04 Satoshi Kura , Hiroshi Unno

We consider constrained Horn clause solving from the more general point of view of solving formula equations. Constrained Horn clauses correspond to the subclass of Horn formula equations. We state and prove a fixed-point theorem for Horn…

Logic in Computer Science · Computer Science 2021-09-13 Stefan Hetzl , Johannes Kloibhofer

Higher-order constrained Horn clauses (HoCHC) are a semantically-invariant system of higher-order logic modulo theories. With semi-decidable unsolvability over a semi-decidable background theory, HoCHC is suitable for safety verification.…

Formal Languages and Automata Theory · Computer Science 2021-09-13 Jerome Jochems

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

Dual Horn clauses mirror key properties of Horn clauses. This paper explores the ``other side of the looking glass'' to reveal some expected and unexpected symmetries and their practical uses. We revisit Dual Horn clauses as enablers of a…

Computation and Language · Computer Science 2024-07-31 Paul Tarau