kirancodes.me
To Proof Maintenance & Beyond!

Exceptions and aspects: the devil is in the details

Fernando Castor Filho, Nélio Cacho, Eduardo Figueiredo, Raquel Maranhão, Alessandro Garcia, Cecília M. F. Rubira

Abstract

It is usually assumed that the implementation of exception handling can be better modularized by the use of aspect-oriented programming (AOP). However, the trade-offs involved in using AOP with this goal are not well-understood. This paper presents an in-depth study of the adequacy of the AspectJ language for modularizing exception handling code. The study consisted in refactoring existing applications so that the code responsible for implementing heterogeneous error handling strategies was moved to separate aspects. We have performed quantitative assessments of four systems - three object-oriented and one aspect-oriented - based on four quality attributes, namely separation of concerns, coupling, cohesion, and conciseness. Our investigation also included a multi-perspective analysis of the refactored systems, including (i) the reusability of the aspectized error handling code, (ii) the beneficial and harmful aspectization scenarios, and (iii) the scalability of AOP to aspectize exception handling in the presence of other crosscutting concerns.

BibTeX
@inproceedings{Filho-al:FSE06,
  author    = {Fernando Castor Filho and
               N{\'{e}}lio Cacho and
               Eduardo Figueiredo and
               Raquel Maranh{\~{a}}o and
               Alessandro Garcia and
               Cec{\'{\i}}lia M. F. Rubira},
  title     = {Exceptions and aspects: the devil is in the details},
  booktitle = {FSE},
  pages     = {152--162},
  publisher = {{ACM}},
  year      = {2006},
}

Related papers