Crosscutting patterns and design stability: An exploratory analysis

Eduardo Figueiredo, Bruno Silva, Claudio Sant'Anna, Alessandro Garcia, Jon Whittle, Daltro Nunes

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

26 Citations (Scopus)


It is often claimed that inaccurate modularisation of crosscutting concerns hinders program comprehension and, as a consequence, leads to harmful software instabilities. However, recent studies have pointed out that crosscutting concerns are not always harmful to design stability. Hence, software maintainers would benefit from well documented patterns of crosscutting concerns and a better understanding about their actual impact on design stability. This paper presents a catalogue of crosscutting concern patterns recurrently observed in software systems. These patterns are described and classified based on an intuitive vocabulary that facilitates their recognition by software engineers. We analysed instances of the crosscutting patterns in object-oriented and aspect-oriented versions of three evolving programs. The outcomes of our exploratory evaluation indicated that: (i) a certain category of crosscutting patterns seems to be good indicator of harmful instabilities, and (ii) aspect-oriented solutions were unable to modularise concerns matching some crosscutting patterns.

Original languageEnglish
Title of host publication2009 IEEE 17th International Conference on Program Comprehension, ICPC '09
Number of pages10
Publication statusPublished - 2009
Externally publishedYes
Event2009 IEEE 17th International Conference on Program Comprehension, ICPC '09 - Vancouver, BC, Canada
Duration: 17 May 200919 May 2009


Conference2009 IEEE 17th International Conference on Program Comprehension, ICPC '09
CityVancouver, BC

Cite this