Typage par interprétation abstraite

L'interpretation abstraite et l'inference de types sont deux methodes formelles permettant d'obtenir de maniere statique (i. E. a la compilation) et automatique une description approchee du comportement dynamique (i. E. De l'execution) d'un programme. Ces deux methodes sont generalement presentees comme concurrentes voir meme incompatibles. Dans cet ouvrage, notre objectif a ete tout d'abord de developper une approche generique permettant de definir un systeme de types en utilisant les techniques d'interpretation abstraite. Le resultat auquel nous sommes parvenus met ainsi fin a la polemique entre les tenants des techniques d'interpretation abstraite et ceux de l'inference de types et ouvrent de nouveaux horizons pour aux techniques d'inferences. Il est desormais possible de combiner les techniques propres aux systemes d'inferences de types et les techniques d'interpretation abstraite afin d'ameliorer les systemes de types existant, de developper de nouveaux systemes de types. En resume, notre objectif a ete tout d'abord de developper dans cet ouvrage une approche generique permettant de definir un systeme de types en utilisant les techniques de l'interpretation abstraite, tout en exhibant les similitudes des systemes obtenus avec les systemes de types definis de maniere classique. Ce formalisme une fois defini, nous illustrons comment utiliser les techniques specifiques de l'interpretation abstraite afin d'ameliorer de facon significative les systemes de types classiques. Enfin, dans une derniere partie, nous definissons de nouveaux systemes moins intuitifs permettant des typages bien plus precis que ceux disponibles dans la litterature