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 (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.
Document type :
Conference papers
Complete list of metadatas

Cited literature [10 references]  Display  Hide  Download

https://hal.inria.fr/hal-01319677
Contributor : Lse Lse <>
Submitted on : Sunday, May 22, 2016 - 10:33:31 AM
Last modification on : Friday, March 22, 2019 - 1:34:53 AM
Long-term archiving on : Tuesday, August 23, 2016 - 10:13:38 AM

File

Rizu15a-CodeTransformation.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

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⟩

Share

Metrics

Record views

421

Files downloads

183