Empirical taxonomy of refactoring methods for aspect‐oriented programming. Issue 1 (21st September 2011) - Alshayeb, Mohammad; Al‐Jamimi, Hamdi; Elish, Mahmoud O.
SUMMARY 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.