Get access

Empirical taxonomy of refactoring methods for aspect-oriented programming


Mohammad Alshayeb, Information and Computer Science Department, King Fahd University of Petroleum and Minerals, Dhahran 31261, Saudi Arabia.



Refactoring improves software quality by improving the design of existing code through changing its internal structure while preserving its behavior. Improving one quality attribute may impair other quality attributes. A number of refactoring methods were proposed specifically for aspect-oriented systems. However, there are no guidelines to help aspect-oriented software designer decide which refactoring methods to apply to optimize a software system with regard to certain design goals. In this paper, we propose a taxonomy/classification of refactoring methods for aspect-oriented programming based on their measurable effect on software quality attributes using six open-source aspect-oriented software systems. Copyright © 2011 John Wiley & Sons, Ltd.