Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSN › Conference contribution/Paper › peer-review
}
TY - GEN
T1 - Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
AU - Coelho, Roberta
AU - Rashid, Awais
AU - Garcia, Alessandro
AU - Ferrari, Fabiano
AU - Cacho, Nelio
AU - Kulesza, Uirá
AU - von Staa, Arndt
AU - Lucena, Carlos
PY - 2008
Y1 - 2008
N2 - 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.
AB - 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.
KW - Exception handling
KW - aspect-oriented programs
KW - static analysis
KW - empirical study
KW - uncaught exceptions
KW - obsolete handler
KW - unintended handler
UR - http://www.scopus.com/inward/record.url?scp=49049118058&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-70592-5_10
DO - 10.1007/978-3-540-70592-5_10
M3 - Conference contribution/Paper
AN - SCOPUS:49049118058
SN - 978-3-540-70591-8
T3 - Lecture Notes in Computer Science
SP - 207
EP - 234
BT - Proceedings of the 22nd European Conference on Object-Oriented Programming (ECOOP 2008)
PB - Springer
CY - Berlin
T2 - ECOOP 2008 - Object-Oriented Programming, 22nd European Conference
Y2 - 7 July 2008 through 11 July 2008
ER -