Title :
Aspect-Oriented Refactoring of Legacy Applications: An Evaluation
Author :
Mortensen, Michael ; Ghosh, Sudipto ; Bieman, James
Author_Institution :
Google, Boulder, CO, USA
Abstract :
The primary claimed benefits of aspect-oriented programming (AOP) are that it improves the understandability and maintainability of software applications by modularizing crosscutting concerns. Before there is widespread adoption of AOP, developers need further evidence of the actual benefits as well as costs. Applying AOP techniques to refactor legacy applications is one way to evaluate costs and benefits. We replace crosscutting concerns with aspects in three industrial applications to examine the effects on qualities that affect the maintainability of the applications. We study several revisions of each application, identifying crosscutting concerns in the initial revision and also crosscutting concerns that are added in later revisions. Aspect-oriented refactoring reduced code size and improved both change locality and concern diffusion. Costs include the effort required for application refactoring and aspect creation, as well as a decrease in performance.
Keywords :
aspect-oriented programming; software maintenance; AOP techniques; application refactoring; aspect creation; aspect-oriented programming; aspect-oriented refactoring; benefits evaluation; change locality; code size; concern diffusion; cost evaluation; crosscutting concerns; legacy applications; primary claimed benefits; software maintainability; software understandability; Aspect-oriented programming; Java; Legacy systems; Maintenance engineering; Programming; Software measurement; Aspect-oriented programming; crosscutting concerns; legacy systems; maintainability.; refactoring;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2010.109