kirancodes.me
To Proof Maintenance & Beyond!

An exploratory study of fault-proneness in evolving aspect-oriented programs

Fabiano Cutigi Ferrari, Rachel Burrows, Otávio Augusto Lazzarini Lemos, Alessandro Garcia, Eduardo Figueiredo, Nélio Cacho, Frederico Lopes, Nathalia Temudo, Liana Silva, Sérgio Soares, Awais Rashid, Paulo César Masiero, Thaís Vasconcelos Batista, José Carlos Maldonado

Abstract

This paper presents the results of an exploratory study on the fault-proneness of aspect-oriented programs. We analysed the faults collected from three evolving aspect-oriented systems, all from different application domains. The analysis develops from two different angles. Firstly, we measured the impact of the obliviousness property on the fault-proneness of the evaluated systems. The results show that 40% of reported faults were due to the lack of awareness among base code and aspects. The second analysis regarded the fault-proneness of the main aspect-oriented programming (AOP) mechanisms, namely pointcuts, advices and intertype declarations. The results indicate that these mechanisms present similar fault-proneness when we consider both the overall system and concern-specific implementations. Our findings are reinforced by means of statistical tests. In general, this result contradicts the common intuition stating that the use of pointcut languages is the main source of faults in AOP.

BibTeX
@inproceedings{Ferrari-al:ICSE10,
  author    = {Fabiano Cutigi Ferrari and
               Rachel Burrows and
               Ot{\'{a}}vio Augusto Lazzarini Lemos and
               Alessandro Garcia and
               Eduardo Figueiredo and
               N{\'{e}}lio Cacho and
               Frederico Lopes and
               Nathalia Temudo and
               Liana Silva and
               S{\'{e}}rgio Soares and
               Awais Rashid and
               Paulo C{\'{e}}sar Masiero and
               Tha{\'{\i}}s Vasconcelos Batista and
               Jos{\'{e}} Carlos Maldonado},
  title     = {An exploratory study of fault-proneness in evolving aspect-oriented programs},
  booktitle = {ICSE (Part I)},
  pages     = {65--74},
  publisher = {{ACM}},
  year      = {2010},
}

Related papers