Skip to Main content Skip to Navigation
Theses

Programmation vérifiée à l'intersection des types dépendants et de l'analyse statique

Abstract : Dependently-typed languages allow for a new paradigm: proof-oriented or type-driven programming, consisting in writing a program, its specifications and proofs simultaneously. This yields the greatest quality of software, at the cost of manual proof effort. Conversely, static analysis methods aim at inferring properties by analyzing existing programs –usually written without proofs in mind.This Ph.D. thesis studies how advanced type systems and static analysis methods can work cooperatively. As for the latter, we focus primarily on a theory of sound approximation: abstract interpretation. Our first contribution demonstrates the effectiveness of proof-oriented programming (with the F* language) for writing verified sound abstract interpreters. Such interpreters exist but understanding them requires expertise in both proof-engineering and abstract interpretation. Our approach yields an order of magnitude less explicit proofs, leading to a very concise and accessible implementation. We then study how abstract interpretation andweakest-precondition (WP) monads could be hybridized, aiming at better type inference for F*. Our approach consists in turning abstract interpreters into WP monad transformers.We finally look at the benefits of F* dependent types and effects for Information Control Flow (IFC). We present the design and implementation of a library allowing any combination of static and dynamic IFC verification.
Document type :
Theses
Complete list of metadata

https://tel.archives-ouvertes.fr/tel-03617659
Contributor : ABES STAR :  Contact
Submitted on : Wednesday, March 23, 2022 - 3:52:08 PM
Last modification on : Friday, August 5, 2022 - 2:54:52 PM
Long-term archiving on: : Friday, June 24, 2022 - 7:43:48 PM

File

2021ENSR0030_FRANCESCHINO_Luca...
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-03617659, version 1

Citation

Lucas Franceschino. Programmation vérifiée à l'intersection des types dépendants et de l'analyse statique. Autre [cs.OH]. École normale supérieure de Rennes, 2021. Français. ⟨NNT : 2021ENSR0030⟩. ⟨tel-03617659⟩

Share

Metrics

Record views

59

Files downloads

23