Verifying Higher-Order Functions with Tree Automata: Extended Version - Inria - Institut national de recherche en sciences et technologies du numérique
Rapport (Rapport Technique) Année : 2017

Verifying Higher-Order Functions with Tree Automata: Extended Version

Vérification de fonctions d'ordre supérieur à l'aide d'automates d'arbre

Résumé

This paper describes a fully automatic technique for verifying properties of higher-order functional programs. Functional programs are modelled with term rewriting systems and tree automata are used to model reachable program states. From a tree automaton representing the initial state, it is possible to define a completion algorithm on tree automata for approximating the output set of the program to verify. We define a subclass of higher-order functional programs for which the completion is guaranteed to terminate. Furthermore, since precision of the completion is fixed by a set of equations, we also propose an algorithm to automatically generate sets of equations by iterative refinement. We present some experiments showing that the resulting verification technique is complementary and extends several state-of-the-art model-checking approaches for higher-order functional programs.

Domaines

Autre [cs.OH]
Fichier principal
Vignette du fichier
Verifying Higher-Order Functions with Tree Automata.pdf (507.28 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01614380 , version 1 (10-10-2017)
hal-01614380 , version 2 (20-10-2017)
hal-01614380 , version 3 (20-10-2017)
hal-01614380 , version 4 (23-10-2017)

Identifiants

  • HAL Id : hal-01614380 , version 4

Citer

Thomas Genet, Timothée Haudebourg, Thomas Jensen. Verifying Higher-Order Functions with Tree Automata: Extended Version. [Technical Report] Irisa. 2017, pp.1-20. ⟨hal-01614380v4⟩
349 Consultations
294 Téléchargements

Partager

More