A pointcut-based coverage analysis approach for aspect-oriented programs


Autoria(s): LEMOS, Otavio Augusto Lazzarini; MASIERO, Paulo Cesar
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

http://dx.doi.org/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