Verification of programs with ADTs using Shallow Horn Clauses - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2024

Verification of programs with ADTs using Shallow Horn Clauses

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 iterative procedure 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
LosekootGenetJensenSAS24.pdf (2.05 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

hal-04820358 , version 1 (05-12-2024)

Licence

Identifiants

  • HAL Id : hal-04820358 , version 1

Citer

Théo Losekoot, Thomas Genet, Thomas Jensen. Verification of programs with ADTs using Shallow Horn Clauses. Static Analysis Symposium, Roberto Giacobazzi, Alessandra Gorla, Oct 2024, Pasadena (CA), United States. ⟨hal-04820358⟩
0 Consultations
0 Téléchargements

Partager

More