DocumentCode
1398677
Title
Aspect-Oriented Refactoring of Legacy Applications: An Evaluation
Author
Mortensen, Michael ; Ghosh, Sudipto ; Bieman, James
Author_Institution
Google, Boulder, CO, USA
Volume
38
Issue
1
fYear
2012
Firstpage
118
Lastpage
140
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;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2010.109
Filename
5661792
Link To Document