Home > Research > Publications & Outputs > Assessing the Impact of Aspects on Exception Fl...
View graph of relations

Assessing the Impact of Aspects on Exception Flows: An Exploratory Study

Research output: Contribution in Book/Report/ProceedingsPaper

Published
  • Roberta Coelho
  • Awais Rashid
  • Alessandro Garcia
  • Fabiano Ferrari
  • Nelio Cacho
  • Uirá Kulesza
  • Arndt von Staa
  • Carlos Lucena
Close
Publication date2008
Host publicationProceedings of the 22nd European Conference on Object-Oriented Programming (ECOOP 2008)
Place of PublicationBerlin
PublisherSpringer
Pages207-234
Number of pages27
ISBN (Print)978-3-540-70591-8
<mark>Original language</mark>English

Conference

ConferenceECOOP 2008 - Object-Oriented Programming, 22nd European Conference
CountryCyprus
CityPaphos
Period7/07/0811/07/08

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume5142
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

ConferenceECOOP 2008 - Object-Oriented Programming, 22nd European Conference
CountryCyprus
CityPaphos
Period7/07/0811/07/08

Abstract

Exception handling mechanisms are intended to support the development of robust software. However, the implementation of such mechanisms with aspect-oriented (AO) programming might lead to error-prone scenarios. As aspects extend or replace existing functionality at specific join points in the code execution, aspects’ behavior may bring new exceptions, which can flow through the program execution in unexpected ways. This paper presents a systematic study that assesses the error proneness of AOP mechanisms on exception flows of evolving programs. The analysis was based on the object-oriented and the aspect-oriented versions of three medium-sized systems from different application domains. Our findings show that exception handling code in AO systems is error-prone, since all versions analyzed presented an increase in the number of uncaught exceptions and exceptions caught by the wrong handler. The causes of such problems are characterized and presented as a catalogue of bug patterns.