Crosscutting concerns hinder software stability and reuse and, hence, refactorings have been proposed to modularise them using aspect- oriented programming technology. However, refactoring of crosscutting concerns is challenging and time-consuming because it involves many inter- dependent micro-refactorings. It may also be a repetitive task as recent studies have pointed out that most crosscutting concerns share a limited number of recurring shape patterns. This paper presents a family of macro- refactorings for modularising crosscutting concerns which share similar forms and patterns. It also proposes a complementary set of change impact algorithms which support designers on the decision whether to apply concern refactoring. We evaluate our technique by measuring the impact of refactoring 22 crosscutting concerns in two applications from different domains.
['Bruno Carreira Coutinho Silva', 'Eduardo Figueiredo', 'Alessandro Garcia', 'Daltro José Nunes']
On the Support and Application of Macro-Refactorings for Crosscutting Concerns.