An Exploratory Study of the Design Impact of Language Features for Aspect-oriented Interfaces
By: Robert Dyer, Hridesh Rajan, and Yuanfang Cai
Download PaperSlides
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.
}
}