English
Related papers

Related papers: Data-driven Verification of Procedural Programs wi…

200 papers

This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialisation-based techniques for…

Logic in Computer Science · Computer Science 2021-08-03 Emanuele De Angelis , Fabio Fioravanti , John P. Gallagher , Manuel V. Hermenegildo , Alberto Pettorossi , Maurizio Proietti

We present a full-program induction technique for proving (a sub-class of) quantified as well as quantifier-free properties of programs manipulating arrays of parametric size N. Instead of inducting over individual loops, our technique…

Software Engineering · Computer Science 2020-02-25 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Verification of programs operating on heap-allocated data structures, for instance lists or trees, poses significant challenges due to the potentially unbounded size of such data structures. We present time-indexed heap invariants, a novel…

Logic in Computer Science · Computer Science 2026-03-16 Zafer Esen , Philipp Rümmer , Tjark Weber

This paper aims to develop a verification method for procedural programs via a transformation into Logically Constrained Term Rewriting Systems (LCTRSs). To this end, we extend transformation methods based on integer TRSs to handle…

Logic in Computer Science · Computer Science 2025-09-01 Carsten Fuhs , Cynthia Kop , Naoki Nishida

First-order logic is a natural way of expressing the properties of computation, traditionally used in various program logics for expressing the correctness properties and certificates. Subsequently, modern methods in the automated inference…

Programming Languages · Computer Science 2021-11-02 Yurii Kostyukov , Dmitry Mordvinov , Grigory Fedyukovich

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…

Software Engineering · Computer Science 2023-06-02 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer

We address the problem of verifying that the functions of a program meet their contracts, specified by pre/postconditions. We follow an approach based on constrained Horn clauses (CHCs) by which the verification problem is reduced to the…

Logic in Computer Science · Computer Science 2022-09-08 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

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

In this paper we show that checking satisfiability of a set of non-linear Horn clauses (also called a non-linear Horn clause program) can be achieved using a solver for linear Horn clauses. We achieve this by interleaving a program…

Programming Languages · Computer Science 2016-07-18 Bishoksan Kafle , John P. Gallagher , Pierre Ganty

Automatic verification of concurrent programs faces state explosion due to the exponential possible interleavings of its sequential components coupled with large or infinite state spaces. An alternative is deductive verification, where…

Programming Languages · Computer Science 2024-01-01 Yuan Xia , Jyotirmoy V. Deshmukh , Mukund Raghothaman , Srivatsan Ravi

Verification conditions (VCs) are logical formulas whose satisfiability guarantees program correctness. We consider VCs in the form of constrained Horn clauses (CHC) which are automatically generated from the encoding of (an interpreter of)…

Logic in Computer Science · Computer Science 2016-07-18 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Automated program verification is a difficult problem. It is undecidable even for transition systems over Linear Integer Arithmetic (LIA). Extending the transition system with theory of Arrays, further complicates the problem by requiring…

Logic in Computer Science · Computer Science 2021-06-02 Arie Gurfinkel , Sharon Shoham , Yakir Vizel

Analyzing and verifying heap-manipulating programs automatically is challenging. A key for fighting the complexity is to develop compositional methods. For instance, many existing verifiers for heap-manipulating programs require…

Programming Languages · Computer Science 2019-08-28 Long H. Pham , Jun Sun , Quang Loc Le

Many transformation techniques developed for constraint logic programs, also known as constrained Horn clauses (CHCs), have found new useful applications in the field of program verification. In this paper, we work out a nontrivial case…

Logic in Computer Science · Computer Science 2020-08-10 Emanuele De Angelis , Fabio Fioravanti , Maurizio Proietti

We propose a novel method for inferring refinement types of higher-order functional programs. The main advantage of the proposed method is that it can infer maximally preferred (i.e., Pareto optimal) refinement types with respect to a…

Programming Languages · Computer Science 2015-05-19 Kodai Hashimoto , Hiroshi Unno

We study the uniform verification problem for infinite state processes, which consists of proving that the parallel composition of an arbitrary number of processes satisfies a temporal property. Our practical motivation is to build a…

Logic in Computer Science · Computer Science 2014-01-10 Alejandro Sánchez , César Sánchez

The problem of inferring an inductive invariant for verifying program safety can be formulated in terms of binary classification. This is a standard problem in machine learning: given a sample of good and bad points, one is asked to find a…

Programming Languages · Computer Science 2015-01-21 Siddharth Krishna , Christian Puhrsch , Thomas Wies

We propose a data-driven algorithm for numerical invariant synthesis and verification. The algorithm is based on the ICE-DT schema for learning decision trees from samples of positive and negative states and implications corresponding to…

Programming Languages · Computer Science 2022-07-11 Ahmed Bouajjani , Wael-Amine Boutglay , Peter Habermehl

One of the main challenges in software verification is efficient and precise compositional analysis of programs with procedures and loops. Interpolation methods remain one of the most promising techniques for such verification, and are…

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

This paper tackles the problem of the existence of solutions for recursive systems of Horn clauses with second-order variables interpreted as integer relations, and harnessed by quantifier-free difference bounds arithmetic. We start by…

Formal Languages and Automata Theory · Computer Science 2016-02-16 Radu Iosif