Verifying Higher-Order Functions with Tree Automata - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2018

Verifying Higher-Order Functions with Tree Automata

Résumé

This paper describes a fully automatic technique for verifying safety properties of higher-order functional programs. Tree automata are used to represent sets of reachable states and functional programs are modeled using term rewriting systems. From a tree automaton representing the initial state, a completion algorithm iteratively computes an automaton which over-approximates the output set of the program to verify. We identify a subclass of higher-order functional programs for which the completion is guaranteed to terminate. Precision and termination are obtained conjointly by a careful choice of equations between terms. The verification objective can be used to generate sets of equations automatically. Our experiments show that tree automata are sufficiently expressive to prove intricate safety properties and sufficiently simple for the verification result to be certified in Coq.
Fichier principal
Vignette du fichier
GenetHJ-FOSSACS18.pdf (374.67 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01775188 , version 1 (24-04-2018)

Identifiants

Citer

Thomas Genet, Timothée Haudebourg, Thomas Jensen. Verifying Higher-Order Functions with Tree Automata. FoSSaCS 2018 - 21st International Conference on Foundations of Software Science and Computation Structures, Apr 2018, Thessalonique, Greece. pp.565-582, ⟨10.1007/978-3-319-89366-2_31⟩. ⟨hal-01775188⟩
211 Consultations
96 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More