This paper presents a human-guided, automated approach to refactoring object oriented programs to the aspect oriented paradigm. The approach is based upon the iterative application of four steps: discovery, enabling, selection, and refactoring. After discovering potentially applicable refactorings, the enabling step transforms the code to improve refactorability. During the selection phase the particular refactorings to apply are chosen. Finally, the refactoring phase transforms the code by moving the selected code to a new aspect. The work represents the first automated end-to-end approach to migration from the Object Oriented to the Aspect Oriented paradigm. The paper also presents the results of an evaluation in which a 40,000 LoC program (JHotDraw) is refactored. The evaluation shows that fully automated aspect refactoring is possible using a few simple refactorings
Automated Refactoring of Object Oriented Code into Aspects
Ceccato, Mariano;Ricca, Filippo;Tonella, Paolo
2005-01-01
Abstract
This paper presents a human-guided, automated approach to refactoring object oriented programs to the aspect oriented paradigm. The approach is based upon the iterative application of four steps: discovery, enabling, selection, and refactoring. After discovering potentially applicable refactorings, the enabling step transforms the code to improve refactorability. During the selection phase the particular refactorings to apply are chosen. Finally, the refactoring phase transforms the code by moving the selected code to a new aspect. The work represents the first automated end-to-end approach to migration from the Object Oriented to the Aspect Oriented paradigm. The paper also presents the results of an evaluation in which a 40,000 LoC program (JHotDraw) is refactored. The evaluation shows that fully automated aspect refactoring is possible using a few simple refactoringsI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.