Managing crosscutting concerns during software evolution tasks: an inquisitive study

  • Authors:
  • Elisa L. A. Baniassad;Gail C. Murphy;Christa Schwanninger;Michael Kircher

  • Affiliations:
  • University of British Columbia, Vancouver BC Canada V6T 1Z4;University of British Columbia, Vancouver BC Canada V6T 1Z4;Siemens AG, ZT SE 2, Otto-Hahn Ring 6, 81739, Munich, Germany;Siemens AG, ZT SE 2, Otto-Hahn Ring 6, 81739, Munich, Germany

  • Venue:
  • AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code is modularized, for many reasons, including making it easier to understand, change, and verify. Aspect-oriented programming approaches extend the kind of code that can be modularized, enabling the modularization of crosscutting code. We conducted an inquisitive study to better understand the kinds of crosscutting code that software developers encounter and to better understand how the developers manage this code. We tracked eight participants: four from industry and four from academia. Each participant was currently evolving a non-trivial software system. We interviewed these participants three times about crosscutting concerns they had encountered and the strategies they used to deal with the concerns. We found that crosscutting concerns tended to emerge as obstacles that the developer had to consider to make the desired change. The strategy used by the developer to manage the concern depended on the form of the obstacle code. The results of this study provide empirical evidence to support the problems identified by the aspect-oriented programming community, and provide a basis on which to further assess aspect-oriented programming.