DocumentCode
2155373
Title
Crosscutting patterns and design stability: An exploratory analysis
Author
Figueiredo, Eduardo ; Silva, Bruno ; Anna, Claudio Sant ; Garcia, Alessandro ; Whittle, Jon ; Nunes, Daltro
Author_Institution
Comput. Dept., Lancaster Univ., Lancaster
fYear
2009
fDate
17-19 May 2009
Firstpage
138
Lastpage
147
Abstract
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.
Keywords
object-oriented programming; software engineering; aspect-oriented solutions; crosscutting patterns; design stability; exploratory analysis; intuitive vocabulary; software instabilities; Computer science; Informatics; Laboratories; Pattern analysis; Scattering; Software engineering; Software maintenance; Software systems; Stability analysis; Vocabulary;
fLanguage
English
Publisher
ieee
Conference_Titel
Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on
Conference_Location
Vancouver, BC
ISSN
1092-8138
Print_ISBN
978-1-4244-3998-0
Electronic_ISBN
1092-8138
Type
conf
DOI
10.1109/ICPC.2009.5090037
Filename
5090037
Link To Document