Contexte :
La modification automatique de code source permet d'améliorer des pans entiers d'une application en ayant à écrire un minimum de code. Une modification peut être d'injecter du code en début de chaque méthode pour vérifier que les arguments passés sont non null, ou encore de rajouter des Loggers dans un code qui en manque. Un outil de modification de code source doit être capable de comprendre tout code correct en entrée, de faire dessus une quelconque manipulation de code et de ressortir du code correct. L'analyse de code permet de ressortir des informations sur une application, par exemple trouver tous les blocks auto-générés ou vide (que ce soit des méthodes surchargées(vides par défaut) ou des catch-block (qui ne contiennent que "e.printstacktrace()") ).
Tâche :
Vous devrez créer un plugin eclipse qui permet pour un projet java(A) à transformer et un "transformeur"(B) de créer un nouveau projet java qui contient le code du projet (A) transformé par (B).
(A) pouvant être n'importe quelle application java.
(B) pouvant être par exemple de remplacer les "e.printstacktrace()" des catch-blocks par un appel à un Logger.
Le travail sera basé sur un outil d'analyse/modification de code source java existant : Spoon.
Outils utilisés:
spoon : un outil d'analyse/modification de code source java (cf spoon.gforge.inria.fr)
eclipse sdk : l'api de manipulation des objets eclipse (cf eclipse.org/pde )
eclipse jdt-core : le compilateur java d'eclipse (cf eclipse.org/projects/project.php?id=eclipse.jdt.core)
|