Sciweavers

ECOOP
2009
Springer

Stepping Stones over the Refactoring Rubicon

15 years 1 months ago
Stepping Stones over the Refactoring Rubicon
Refactoring tools allow the programmer to pretend they are working with a richer language where the behaviour of a program is automatically preserved during restructuring. In this paper we show that this metaphor of an extended language yields a very general and useful implementation technique for refactorings: a refactoring is implemented by embedding the source program into an extended language on which the refactoring operations are easier to perform, and then translating the refactored program back into the original language. Using the well-known Extract Method refactoring as an example, we show that this approach allows a very fine-grained decomposition of the overall refactoring into a series of micro-refactorings that can be understood, implemented, and tested independently. We thus can easily write implementations of complex refactorings that rival and even outperform industrial strength refactoring tools in terms of correctness, but are much shorter and easier to understand.
Mathieu Verbaere, Max Schäfer, Oege de Moor,
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where ECOOP
Authors Mathieu Verbaere, Max Schäfer, Oege de Moor, Torbjörn Ekman
Comments (0)