Analyse d'echappement. Applications a ml et java (tm)

par BRUNO BLANCHET

Thèse de doctorat en Sciences et techniques. Sciences et techniques communes

Sous la direction de Patrick Cousot.

Soutenue en 2000

à Palaiseau, Ecole polytechnique .

    mots clés mots clés


  • Résumé

    L'analyse d'echappement est une analyse statique visant a determiner si la duree de vie des donnees depasse leur portee statique. Si elle ne la depasse pas, les donnees peuvent etre allouees en pile. Cette these etend les travaux precedents sur l'analyse d'echappement en traitant pour la premiere fois completement deux langages realistes : objective caml et java. Nos contributions sont a la fois theoriques et pratiques. Le principal apport theorique est la preuve de correction des analyses a partir d'une semantique du langage analyse, en utilisant les techniques de l'interpretation abstraite. Pour ml, les operations imperatives (affectations), le polymorphisme, les fonctions d'ordre superieur, les types recursifs sont traites. Deux representations des valeurs abstraites d'echappement sont proposees : l'une, tres efficace, utilise des entiers et l'autre, plus precise mais plus couteuse, des types annotes. La comparaison entre ces deux representations permet de trouver laquelle offre le meilleur compromis. Pour java, nous proposons une nouvelle technique permettant de prendre en compte les affectations de facon plus precise que pour ml, tout en conservant une analyse rapide. Une implantation complete dans des compilateurs a ete effectuee, afin d'etudier deux applications de l'analyse d'echappement : l'allocation en pile et l'elimination des synchronisations (cette derniere application ne concerne pas ml). Les effets de ces optimisations font l'objet d'une etude experimentale detaillee sur de gros programmes. Cette etude a montre que l'allocation en pile ameliore la localite des donnees, diminue la charge du gc (glaneur de cellules) et le temps d'allocation, et que ses effets dependent considerablement du type de gc et de cache utilise. Les algorithmes utilises ont ete choisis de facon a fournir des analyses particulierement efficaces. L'experience a montre que la representation utilisant des entiers est celle qui donne le meilleur rapport cout/precision.


  • Pas de résumé disponible.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 310 p.
  • Annexes : 85 ref.

Où se trouve cette thèse ?

  • Bibliothèque : École polytechnique. Bibliothèque Centrale.
  • Disponible pour le PEB
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.