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

  • Authors:
  • Otávio Augusto Lazzarini Lemos;Paulo Cesar Masiero

  • Affiliations:
  • Department of Science and Technology, Federal University of São Paulo - UNIFESP, Rua Talim, 330, Vila Nair, CEP 12231-280, São José dos Campos, SP, Brazil;Department of Computer Systems, ICMC/USP - São Carlos, Caixa Postal 668, 13560-970 São Carlos, SP, Brazil

  • Venue:
  • Information Sciences: an International Journal
  • Year:
  • 2011

Quantified Score

Hi-index 0.07

Visualization

Abstract

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 Def-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.