Home > Research > Publications & Outputs > Unveiling and Taming Liabilities of Aspects in ...
View graph of relations

Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions: A Static Analysis Based Approach

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions: A Static Analysis Based Approach. / Coelho, Roberta; von Staa, Arndt; Kulesza, Uirá et al.
In: Information Sciences, Vol. 181, No. 13, 07.2011, p. 2700-2720.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Coelho, R, von Staa, A, Kulesza, U, Rashid, A & Lucena, C 2011, 'Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions: A Static Analysis Based Approach', Information Sciences, vol. 181, no. 13, pp. 2700-2720. https://doi.org/10.1016/j.ins.2010.06.002

APA

Vancouver

Coelho R, von Staa A, Kulesza U, Rashid A, Lucena C. Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions: A Static Analysis Based Approach. Information Sciences. 2011 Jul;181(13):2700-2720. doi: 10.1016/j.ins.2010.06.002

Author

Coelho, Roberta ; von Staa, Arndt ; Kulesza, Uirá et al. / Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions : A Static Analysis Based Approach. In: Information Sciences. 2011 ; Vol. 181, No. 13. pp. 2700-2720.

Bibtex

@article{651153c1c6be455299ee4ac50d308eaa,
title = "Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions: A Static Analysis Based Approach",
abstract = "As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains.",
keywords = "Exception handling; Aspect-oriented programming; Static analysis; Exception flow analysis; Exception handling rules conformance",
author = "Roberta Coelho and {von Staa}, Arndt and Uir{\'a} Kulesza and Awais Rashid and Carlos Lucena",
year = "2011",
month = jul,
doi = "10.1016/j.ins.2010.06.002",
language = "English",
volume = "181",
pages = "2700--2720",
journal = "Information Sciences",
issn = "0020-0255",
publisher = "Elsevier Inc.",
number = "13",

}

RIS

TY - JOUR

T1 - Unveiling and Taming Liabilities of Aspects in the Presence of Exceptions

T2 - A Static Analysis Based Approach

AU - Coelho, Roberta

AU - von Staa, Arndt

AU - Kulesza, Uirá

AU - Rashid, Awais

AU - Lucena, Carlos

PY - 2011/7

Y1 - 2011/7

N2 - As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains.

AB - As aspects extend or replace existing functionality at specific join points in the code, their behavior may raise new exceptions, which can flow through the program execution in unexpected ways. Assuring the reliability of exception handling code in aspect-oriented (AO) systems is a challenging task. Testing the exception handling code is inherently difficult, since it is tricky to provoke all exceptions during tests, and the large number of different exceptions that can happen in a system may lead to the test-case explosion problem. Moreover, we have observed that some properties of AO programming (e.g., quantification, obliviousness) may conflict with characteristics of exception handling mechanisms, exacerbating existing problems (e.g., uncaught exceptions). The lack of verification approaches for exception handling code in AO systems stimulated the present work. This work presents a verification approach based on a static analysis tool, called SAFE, to check the reliability of exception handling code in AspectJ programs. We evaluated the effectiveness and feasibility of our approach in two complementary ways (i) by investigating if the SAFE tool is precise enough to uncover exception flow information and (ii) by applying the approach to three medium-sized ApectJ systems from different application domains.

KW - Exception handling; Aspect-oriented programming; Static analysis; Exception flow analysis; Exception handling rules conformance

UR - http://www.scopus.com/inward/record.url?scp=79953879808&partnerID=8YFLogxK

U2 - 10.1016/j.ins.2010.06.002

DO - 10.1016/j.ins.2010.06.002

M3 - Journal article

AN - SCOPUS:79953879808

VL - 181

SP - 2700

EP - 2720

JO - Information Sciences

JF - Information Sciences

SN - 0020-0255

IS - 13

ER -