Skip to Main content Skip to Navigation
Conference papers

Code Transformation by Direct Transformation of ASTs

Mark Rizun 1 Jean-Christophe Bach 1 Stéphane Ducasse 1, * 
* Corresponding author
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 - 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.
Document type :
Conference papers
Complete list of metadata

Cited literature [10 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Sunday, May 22, 2016 - 10:33:31 AM
Last modification on : Thursday, September 8, 2022 - 3:50:03 AM
Long-term archiving on: : Tuesday, August 23, 2016 - 10:13:38 AM


Files produced by the author(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⟩



Record views


Files downloads