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. AOSD ’12: 11th International Conference on Aspect-Oriented Software Development (Mar. 2012).

BibTeX Reference

@inproceedings{dyer2012exploratory,
  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 = {AOSD '12: 11th International Conference on Aspect-Oriented Software Development},
  location = {Potsdam, Germany},
  month = {March},
  year = {2012},
  entrysubtype = {conference},
  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.
  }
}