Verification of programs with ADTs using Shallow Horn Clauses -- extended version - INSA Rennes - Institut National des Sciences Appliquées de Rennes
Preprints, Working Papers, ... Year : 2024

Verification of programs with ADTs using Shallow Horn Clauses -- extended version

Abstract

This paper considers verification of relational properties of programs over algebraic data types (ADTs) by translating programs and properties into Constrained Horn clauses (CHCs). Verification reduces to satisfiability of CHCs modulo the theory of algebraic data types, which can be done by exhibiting a Herbrand model of the clauses. Herbrand models of CHCs with recursive ADTs are unbounded, so we need a formalism to finitely represent such models.We propose Shallow Horn Clauses (SHoCs), a new formalism for finitely representing unbounded Herbrand models. SHoCs enjoy the usual Boolean closure properties and are strictly more, expressive and compact than tree automata and convoluted tree automata, which have previously been used for this purpose. We propose an Implication CounterExample procedure (ICE) for inferring SHoCs. The model inference problem arising from relational verification is undecidable, so we propose an incomplete but sound inference procedure. Experiments show that this procedure performs well in practice w.r.t. state of the art tools, both for verifying properties and for finding counterexamples.
Fichier principal
Vignette du fichier
main.pdf (317.84 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-04669706 , version 1 (09-08-2024)

Licence

Identifiers

  • HAL Id : hal-04669706 , version 1

Cite

Théo Losekoot, Thomas Genet, Thomas Jensen. Verification of programs with ADTs using Shallow Horn Clauses -- extended version. 2024. ⟨hal-04669706⟩
42 View
41 Download

Share

More