Code Transformation by Direct Transformation of ASTs

Mark Rizun 1 Jean-Christophe Bach 1 Stéphane Ducasse 1, *
* Auteur correspondant
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : Software evolves to be adapted to the environment, due to bugs, new features and design changes. Code transformations can be done manually, but that is a tedious and error-prone task. Therefore automated tools are used to assist developers in this maintenance operation. The Pharo environment includes its own refactoring tool — the Rewrite Engine — that allows one to transform methods by directly specifying parts of the AST to be rewritten. In addition, it proposes a parse tree transformation engine. However this tool and the used DSL to express the patterns for matching and transforming trees are complex to understand and master. In this context, writing a transformation rule is not a trivial task. We present a graphical tool built on the top of the Rewrite Engine — the Rewrite Tool — that abstracts the creation of transformation rules and proposes high-level AST operations that are simpler to understand than syntactic descriptions. It helps to automate the process of code transformation with a user-friendly interface.
Type de document :
Communication dans un congrès
International Workshop on Smalltalk Technologies, Jul 2015, Brescia, Italy. 〈10.1145/2811237.2811297〉
Liste complète des métadonnées

Littérature citée [10 références]  Voir  Masquer  Télécharger
Contributeur : Lse Lse <>
Soumis le : dimanche 22 mai 2016 - 10:33:31
Dernière modification le : jeudi 7 février 2019 - 17:09:23
Document(s) archivé(s) le : mardi 23 août 2016 - 10:13:38


Fichiers produits par l'(les) auteur(s)




Mark Rizun, Jean-Christophe Bach, Stéphane Ducasse. Code Transformation by Direct Transformation of ASTs. International Workshop on Smalltalk Technologies, Jul 2015, Brescia, Italy. 〈10.1145/2811237.2811297〉. 〈hal-01319677〉



Consultations de la notice


Téléchargements de fichiers