An Exploratory Study of the Design Impact of Language Features for Aspect-oriented Interfaces

By: Robert Dyer, Hridesh Rajan, and Yuanfang Cai

PDF Download Download Paper
Slides

Abstract

A variety of language features to modularize crosscutting concerns have recently been discussed, e.g. open modules, annotation-based pointcuts, explicit join points, and quantified-typed events. All of these ideas are essentially a form of aspect-oriented interface between object-oriented and crosscutting modules, but the representation of this interface differs. While previous works have studied maintenance of AO programs versus OO programs, an empirical comparison of different AO interfaces to each other to investigate their benefits has not been performed. The main contribution of this work is a rigorous empirical study that evaluates the effectiveness of these proposals for AO interfaces towards software maintenance by applying them to 35 different releases of a software product line called MobileMedia and 50 different releases of a web application called Health Watcher. Our comparative analysis using quantitative metrics proposed by Chidamber and Kemerer shows the strengths and weaknesses of these AO interface proposals. Our change impact analysis shows the design stability provided by each of these recent proposals for AO interfaces.

ACM Reference

Dyer, R. et al. 2012. An Exploratory Study of the Design Impact of Language Features for Aspect-oriented Interfaces. Proceedings of the 11th International Conference on Aspect-oriented Software Development, AOSD, Potsdam, Germany (2012), 143–154.

BibTeX Reference

@inproceedings{DyerRajanCai2012,
  author = {Robert Dyer and Hridesh Rajan and Yuanfang Cai},
  title = {An Exploratory Study of the Design Impact of Language Features for Aspect-oriented Interfaces},
  booktitle = {Proceedings of the 11th International Conference on Aspect-oriented Software Development, AOSD, Potsdam, Germany},
  pages = {143--154},
  year = {2012},
  publisher = {{ACM}},
  editor = {Robert Hirschfeld and {\'{E}}ric Tanter and Kevin J. Sullivan and Richard P. Gabriel},
  doi = {10.1145/2162049.2162067},
  abstract = {
  A variety of language features to modularize crosscutting concerns have
  recently been discussed, e.g. open modules, annotation-based pointcuts,
  explicit join points, and quantified-typed events. All of these ideas are
  essentially a form of aspect-oriented interface between object-oriented and
  crosscutting modules, but the representation of this interface differs. While
  previous works have studied maintenance of AO programs versus OO programs, an
  empirical comparison of different AO interfaces to each other to investigate
  their benefits has not been performed. The main contribution of this work is a
  rigorous empirical study that evaluates the effectiveness of these proposals
  for AO interfaces towards software maintenance by applying them to 35
  different releases of a software product line called MobileMedia and 50
  different releases of a web application called Health Watcher. Our comparative
  analysis using quantitative metrics proposed by Chidamber and Kemerer shows
  the strengths and weaknesses of these AO interface proposals. Our change
  impact analysis shows the design stability provided by each of these recent
  proposals for AO interfaces.},
}