English
Related papers

Related papers: Verifying Tree-Manipulating Programs via CHCs

200 papers

Verifying programs that manipulate tree data structures often requires complex, ad-hoc proofs that are hard to generalize and automate. This paper introduces an automatic technique for analyzing such programs. Our approach combines automata…

Programming Languages · Computer Science 2024-10-15 Marco Faella , Gennaro Parlato

The proof of a program property can be reduced to the proof of satisfiability of a set of constrained Horn clauses (CHCs) which can be automatically generated from the program and the property. In this paper we have conducted a case study…

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

Reduction to the satisfiability problem for constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. The current CHC-based methods for pointer-manipulating programs, however, are not very scalable.…

Programming Languages · Computer Science 2020-06-12 Yusuke Matsushita , Takeshi Tsukada , Naoki Kobayashi

We address the problem of verifying the satisfiability of Constrained Horn Clauses (CHCs) based on theories of inductively defined data structures, such as lists and trees. We propose a transformation technique whose objective is the…

Logic in Computer Science · Computer Science 2018-10-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

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

In this paper, we show how the notion of tree dimension can be used in the verification of constrained Horn clauses (CHCs). The dimension of a tree is a numerical measure of its branching complexity and the concept here applies to Horn…

Logic in Computer Science · Computer Science 2018-03-07 Bishoksan Kafle , John P. Gallagher , Pierre Ganty

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 address the problem of checking the satisfiability of a set of constrained Horn clauses (CHCs) possibly including more than one query. We propose a transformation technique that takes as input a set of CHCs, including a set of queries,…

Logic in Computer Science · Computer Science 2024-01-15 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Several techniques and tools have been developed for verification of properties expressed as Horn clauses with constraints over a background theory (CHC). Current CHC verification tools implement intricate algorithms and are often limited…

Programming Languages · Computer Science 2014-05-16 John P. Gallagher , Bishoksan Kafle

Constrained Horn Clauses (CHCs) are an intermediate program representation that can be generated by several verification tools, and that can be processed and solved by a number of Horn solvers. One of the main challenges when using CHCs in…

Logic in Computer Science · Computer Science 2021-04-12 Zafer Esen , 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

We address the problem of verifying automatically procedural programs manipulating parametric-size arrays of integers, encoded as a constrained Horn clauses solving problem. We propose a new algorithmic method for synthesizing loop…

Programming Languages · Computer Science 2025-05-23 Ahmed Bouajjani , Wael-Amine Boutglay , Peter Habermehl

We present a method for automatic inference of conditions on the initial states of a program that guarantee that the safety assertions in the program are not violated. Constrained Horn clauses (CHCs) are used to model the program and…

Logic in Computer Science · Computer Science 2018-04-18 Bishoksan Kafle , John P. Gallagher , Graeme Gange , Peter Schachte , Harald Sondergaard , Peter J. Stuckey

Catamorphisms are functions that are recursively defined on list and trees and, in general, on Algebraic Data Types (ADTs), and are often used to compute suitable abstractions of programs that manipulate ADTs. Examples of catamorphisms…

Logic in Computer Science · Computer Science 2025-02-19 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

We present Ultimate TreeAutomizer, a solver for satisfiability of sets of constrained Horn clauses. Constrained Horn clauses (CHC) are a fragment of first order logic with attractive properties in terms of expressiveness and accessibility…

Logic in Computer Science · Computer Science 2019-07-10 Daniel Dietsch , Matthias Heizmann , Jochen Hoenicke , Alexander Nutz , Andreas Podelski

Automatically verifying safety properties of programs is hard, and it is even harder if the program acts upon arrays or other forms of maps. Many approaches exist for verifying programs operating upon Boolean and integer values (e.g.…

Programming Languages · Computer Science 2015-10-01 David Monniaux , Laure Gonnord

The functional properties of a program are often specified by providing a contract for each of its functions. A contract of a function consists of a pair of formulas, called a precondition and a postcondition, which, respectively, should…

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

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

Constrained Horn Clauses (CHCs) are widely adopted as intermediate representations for a variety of verification tasks, including safety checking, invariant synthesis, and interprocedural analysis. This paper introduces CHCVERIF, a…

Software Engineering · Computer Science 2025-10-31 Mihály Dobos-Kovács , Levente Bajczi , András Vörös

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
‹ Prev 1 2 3 10 Next ›