Back to the future: a retroactive study of aspect evolution in operating system code

  • Authors:
  • Yvonne Coady;Gregor Kiczales

  • Affiliations:
  • University of British Columbia, Vancouver, BC;University of British Columbia and Intentional Software Corporation, Bellevue, WA

  • Venue:
  • Proceedings of the 2nd international conference on Aspect-oriented software development
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The FreeBSD operating system more than doubled in size between version 2 and version 4. Many changes to primary modularity are easy to spot at a high-leveL For example, new device drivers account for 38% of the growth. Not surprisingly, changes to crosscutting concerns are more difficult to track. In order to better understand how an aspect-oriented implementation would have fared during this evolution, we introduced several aspects to version 2 code, and then rolled them forward into their subsequent incarnations in versions 3 and 4 respectively. This paper describes the impact evolution had on these concerns, and provides a comparative analysis of the changes required to evolve the tangled versus aspect-oriented implementations.Our results show that for the concerns we chose, the aspect-oriented implementation facilitated evolution in four key ways: (1) changes were better localized, (2) configurability was more explicit, (3) redundancy was reduced, and (4) extensibility aligned with an aspect was more modular. Additionally, we found that the aspect-oriented implementation had negligible impact on performance.