Home > Research > Publications & Outputs > Crosscutting Patterns and Design Stability: An ...
View graph of relations

Crosscutting Patterns and Design Stability: An Exploratory Analysis

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published
  • Eduardo Figueiredo
  • Bruno Silva
  • Claudio Sant'Anna
  • Alessandro Garcia
  • Jon Whittle
  • Daltro Nunes
Close
Publication date2009
Host publicationProgram Comprehension, 2009. ICPC '09. IEEE 17th International Conference on
Place of PublicationNew York
PublisherIEEE
Pages138-147
Number of pages10
ISBN (print)978-1-4244-3998-0
<mark>Original language</mark>English
EventIEEE 17th International Conference on Program Comprehension - Vancouver
Duration: 17/05/200919/05/2009

Conference

ConferenceIEEE 17th International Conference on Program Comprehension
CityVancouver
Period17/05/0919/05/09

Conference

ConferenceIEEE 17th International Conference on Program Comprehension
CityVancouver
Period17/05/0919/05/09

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.