Sciweavers

ECOOP
2009
Springer

Program Metamorphosis

14 years 5 months ago
Program Metamorphosis
Modern development environments support refactoring by providing atomically behaviour-preserving transformations. While useful, these transformations are limited in three ways: (i) atomicity forces transformations to be complex and opaque, (ii) the behaviour preservation requirement disallows deliberate behaviour evolution, and (iii) atomicity limits code reuse opportunities for refactoring implementers. We present ‘program metamorphosis’, a novel approach for program evolution and refactoring that addresses the above limitations by breaking refactorings into smaller steps that need not preserve behaviour individually. Instead, we ensure that sequences of transformations preserve behaviour together, and simultaneously permit selective behavioural change. To evaluate program metamorphosis, we have implemented a prototype plugin for Eclipse. Our analysis and experiments show that (1) our plugin provides correctness guarantees on par with those of Eclipse’s own refactorings, (2) bot...
Christoph Reichenbach, Devin Coughlin, Amer Diwan
Added 19 May 2010
Updated 19 May 2010
Type Conference
Year 2009
Where ECOOP
Authors Christoph Reichenbach, Devin Coughlin, Amer Diwan
Comments (0)