Automata-Based Verification of Relational Properties of Functions over Algebraic Data Structures - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2023

Automata-Based Verification of Relational Properties of Functions over Algebraic Data Structures

Résumé

This paper is concerned with automatically proving properties about the input-output relation of functional programs operating over algebraic data types. Recent results show how to approximate the image of a functional program using a regular tree language. Though expressive, those techniques cannot prove properties relating the input and the output of a function, e.g., proving that the output of a function reversing a list has the same length as the input list. In this paper, we built upon those results and define a procedure to compute or over-approximate such a relation. Instead of representing the image of a function by a regular set of terms, we represent (an approximation of) the input-output relation by a regular set of tuples of terms. Regular languages of tuples of terms are recognized using a tree automaton recognizing convolutions of terms, where a convolution transforms a tuple of terms into a term built on tuples of symbols. Both the program and the properties are transformed into predicates and Constrained Horn clauses (CHCs). Then, using an Implication Counter Example procedure (ICE), we infer a model of the clauses, associating to each predicate a regular relation. In this ICE procedure, checking if a given model satisfies the clauses is undecidable in general. We overcome undecidability by proposing an incomplete but sound inference procedure for such relational regular properties. Though the procedure is incomplete, its implementation performs well on 120 examples. It efficiently proves non-trivial relational properties or finds counter-examples.
Fichier principal
Vignette du fichier
LosekootGJ-FSCD23.pdf (470.15 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Licence : CC BY - Paternité

Dates et versions

hal-04216680 , version 1 (25-09-2023)

Licence

Paternité

Identifiants

Citer

Théo Losekoot, Thomas Genet, Thomas Jensen. Automata-Based Verification of Relational Properties of Functions over Algebraic Data Structures. FSCD 2023 - 8th International Conference on Formal Structures for Computation and Deduction, Jun 2023, Rome, Italy. pp.1-21, ⟨10.4230/LIPIcs.FSCD.2023.7⟩. ⟨hal-04216680⟩
11 Consultations
17 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More