Data-Flow-Based Unit Testing of Aspect-Oriented Programs

  • Authors:
  • Jianjun Zhao

  • Affiliations:
  • -

  • Venue:
  • COMPSAC '03 Proceedings of the 27th Annual International Conference on Computer Software and Applications
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The current research so far in aspect-oriented softwaredevelopment is focused on problem analysis, software design,and implementation techniques. Even though the importanceof software testing is known, it has received littleattention in the aspect-oriented paradigm. In this paper, wepropose a data-flow-based unit testing approach for aspect-orientedprograms. Our approach tests two types of unitsfor an aspect-oriented program, i.e., aspects that are modularunits of crosscutting implementation of the program,and those classes whose behavior may be affected by oneor more aspects. For each aspect or class, our approachperforms three levels of testing, i.e., intra-module, inter-module,and intra-aspect or intra-class testing. For an individualmodule such as a piece of advice, a piece of introduction,and a method, we perform intra-module testing.For a public module along with other modules it calls inan aspect or class, we perform inter-module testing. Formodules that can be accessed outside the aspect or classand can be invoked in any order by users of the aspect orclass, we perform intra-aspect or intra-class testing. Ourapproach can handle unit testing problems that are uniqueto aspect-oriented programs. We use control flow graphs tocompute def-use pairs of an aspect or class being tested anduse such information to guide the selection of tests for theaspect or class.