Conception d'un langage dédié à l'analyse et la transformation de programmes

Emilie Balland 1
1 PAREO - Formal islands: foundations and applications
INRIA Lorraine, LORIA - Laboratoire Lorrain de Recherche en Informatique et ses Applications
Résumé : Développer des analyseurs statiques nécessite une manipulation intensive de structures d'arbres et de graphes représentant le programme. La finalité de cette thèse est de proposer des constructions de langage dédiées au prototypage d'outils d'analyse et de transformation de programmes et inspirées de la réécriture de termes et de termes-graphes. L'originalité de notre approche est d'embarquer ces nouvelles constructions dans les langages généralistes sous la forme d'un langage dédié embarqué. Les travaux de cette thèse se fondent sur le langage Tom qui propose d'embarquer des constructions de réécriture dans des langages généralistes comme Java. La première contribution de cette thèse a été de formaliser les langages embarqués sous le concept de langage îlot. Ce formalisme a ainsi permis de certifier la compilation du langage Tom. Nos travaux sur l'analyse de Bytecode nous ont ensuite conduit à réfléchir à la représentation et la manipulation de graphes de flot de programmes et nous avons alors proposé des constructions de langage inspirées de la réécriture de termes-graphes. Une autre contribution de cette thèse est la conception d'un langage de stratégies adapté à l'expression de propriétés sur un programme. Associé au filtrage, ce langage permet d'exprimer de manière déclarative des analyses et des transformations sur des arbres ou des graphes. Enfin, l'ensemble des propositions de cette thèse a été intégré au langage Tom sous la forme de nouvelles constructions syntaxiques ou d'améliorations de constructions existantes et a ainsi pu être appliqué à l'analyse du langage Java.
Type de document :
Thèse
Génie logiciel [cs.SE]. Université Henri Poincaré - Nancy I, 2009. Français
Liste complète des métadonnées

Littérature citée [64 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-00435881
Contributeur : Emilie Balland <>
Soumis le : mercredi 25 novembre 2009 - 11:06:34
Dernière modification le : mercredi 15 mars 2017 - 12:12:24
Document(s) archivé(s) le : mardi 16 octobre 2012 - 14:50:31

Identifiants

  • HAL Id : tel-00435881, version 1

Collections

Citation

Emilie Balland. Conception d'un langage dédié à l'analyse et la transformation de programmes. Génie logiciel [cs.SE]. Université Henri Poincaré - Nancy I, 2009. Français. 〈tel-00435881〉

Partager

Métriques

Consultations de
la notice

536

Téléchargements du document

1067