Verification of programs with ADTs using Shallow Horn Clauses -- extended version - Inria - Institut national de recherche en sciences et technologies du numérique
Pré-Publication, Document De Travail Année : 2024

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

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Licence

Identifiants

  • HAL Id : hal-04669706 , version 1

Citer

Théo Losekoot, Thomas Genet, Thomas Jensen. Verification of programs with ADTs using Shallow Horn Clauses -- extended version. 2024. ⟨hal-04669706⟩
57 Consultations
92 Téléchargements

Partager

More