Detection of Uncaught Exceptions in Functional Programs by Abstract Interpretation - Archive ouverte HAL
Communication Dans Un Congrès Année : 2024

Detection of Uncaught Exceptions in Functional Programs by Abstract Interpretation

Résumé

Exception handling is a key feature in modern programming languages. Exceptions can be used to deal with errors, or as a means to control the flow of execution of a program. Since they might unexpectedly terminate a program, unhandled exceptions are a serious safety concern. We propose a static analysis to detect uncaught exceptions in functional programs, that is defined as an abstract interpreter. It computes a description of the values potentially returned by a program using a novel abstract domain, that can express inductively defined sets of values. Simultaneously, the analysis infers the possibly raised exceptions, by computing in the abstract exception monad . This abstract interpreter has been implemented as an effective static analyser for a large subset of programs, that supports mutable data types, the module system, and dynamically extensible data types such as the exception type. The analyser has been evaluated on several hundreds of programs.
Fichier principal
Vignette du fichier
final.pdf (790.11 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

hal-04547480 , version 1 (16-04-2024)

Licence

Identifiants

Citer

Pierre Lermusiaux, Benoît Montagu. Detection of Uncaught Exceptions in Functional Programs by Abstract Interpretation. ESOP 2024 - 33rd European Symposium on Programming, Apr 2024, Luxembourg, Luxembourg. pp.391-420, ⟨10.1007/978-3-031-57267-8_15⟩. ⟨hal-04547480⟩
42 Consultations
39 Téléchargements

Altmetric

Partager

More