A pointcut-based coverage analysis approach for aspect-oriented programs
Contribuinte(s) |
UNIVERSIDADE DE SÃO PAULO |
---|---|
Data(s) |
20/10/2012
20/10/2012
2011
|
Resumo |
Aspect-oriented programming (AOP) is a promising technology that supports separation of crosscutting concerns (i.e., functionality that tends to be tangled with, and scattered through the rest of the system). In AOP, a method-like construct named advice is applied to join points in the system through a special construct named pointcut. This mechanism supports the modularization of crosscutting behavior; however, since the added interactions are not explicit in the source code, it is hard to ensure their correctness. To tackle this problem, this paper presents a rigorous coverage analysis approach to ensure exercising the logic of each advice - statements, branches, and def-use pairs - at each affected join point. To make this analysis possible, a structural model based on Java bytecode - called PointCut-based Del-Use Graph (PCDU) - is proposed, along with three integration testing criteria. Theoretical, empirical, and exploratory studies involving 12 aspect-oriented programs and several fault examples present evidence of the feasibility and effectiveness of the proposed approach. (C) 2010 Elsevier Inc. All rights reserved. Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) FAPESP, Brazil[2008/10300-3] CNPq, Brazil Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) |
Identificador |
INFORMATION SCIENCES, v.181, n.13, Special Issue, p.2721-2746, 2011 0020-0255 http://producao.usp.br/handle/BDPI/28985 10.1016/j.ins.2010.06.003 |
Idioma(s) |
eng |
Publicador |
ELSEVIER SCIENCE INC |
Relação |
Information Sciences |
Direitos |
restrictedAccess Copyright ELSEVIER SCIENCE INC |
Palavras-Chave | #Software testing #Aspect-oriented programming #Structural testing #Integration testing #Testing criteria #Testing aspect-oriented programs #Java #AspectJ #STRUCTURAL TESTING CRITERIA #SOFTWARE #SELECTION #JAVA #Computer Science, Information Systems |
Tipo |
article original article publishedVersion |