A Theory of Heap for Constrained Horn Clauses (Extended Technical Report)

04/09/2021
by   Zafer Esen, et al.
0

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 verification is the encoding of heap-allocated data-structures: such data-structures are today either represented explicitly using the theory of arrays, or transformed away with the help of invariants or refinement types, defeating the purpose of CHCs as a representation that is language-independent as well as agnostic of the algorithm implemented by the Horn solver. This paper presents an SMT-LIB theory of heap tailored to CHCs, with the goal of enabling a standard interchange format for programs with heap data-structures. We introduce the syntax of the theory of heap, define its semantics in terms of axioms and using a reduction to SMT-LIB arrays and data-types, and discuss its properties and outline possible extensions and future work.

READ FULL TEXT
research
03/13/2021

Proving and Disproving Programs with Shared Mutable Data

We present a tool for verification of deterministic programs with shared...
research
08/23/2022

Exchangeable Laws in Borel Data Structures

Motivated by statistical practice, category theory terminology is used t...
research
05/17/2022

Reasoning About Vectors using an SMT Theory of Sequences

Dynamic arrays, also referred to as vectors, are fundamental data struct...
research
09/27/2021

The VMT-LIB Language and Tools

We present VMT-LIB, a language for the representation of verification pr...
research
10/10/2020

Cuvée: Blending SMT-LIB with Programs and Weakest Preconditions

Cuvée is a program verification tool that reads SMT-LIB-like input files...
research
06/01/2021

Quantifiers on Demand

Automated program verification is a difficult problem. It is undecidable...
research
01/05/2023

Builtin Types viewed as Inductive Families

State of the art optimisation passes for dependently typed languages can...

Please sign up or login with your details

Forgot password? Click here to reset