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

Research output: Contribution to journalConference articlepeer-review

73 Citations (Scopus)


The current research so far in aspect-oriented software development is focused on problem analysis, software design, and implementation techniques. Even though the importance of software testing is known, it has received little attention in the aspect-oriented paradigm. In this paper, we propose a data-flow-based unit testing approach for aspect-oriented programs. Our approach tests two types of units for an aspect-oriented program, i.e., aspects that are modular units of crosscutting implementation of the program, and those classes whose behavior may be affected by one or more aspects. For each aspect or class, our approach performs three levels of testing, i.e., intra-module, inter-module, and intra-aspect or intra-class testing. For an individual module 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 in an aspect or class, we perform inter-module testing. For modules that can be accessed outside the aspect or class and can be invoked in any order by users of the aspect or class, we perform intra-aspect or intra-class testing. Our approach can handle unit testing problems that are unique to aspect-oriented programs. We use control flow graphs to compute def-use pairs of an aspect or class being tested and use such information to guide the selection of tests for the aspect or class.

Original languageEnglish
Pages (from-to)188-197
Number of pages10
JournalProceedings - IEEE Computer Society's International Computer Software and Applications Conference
Publication statusPublished - 2003
Externally publishedYes
EventProceedings: 27th Annual International Computer Software and Applications Conference, COMPSAC 2003 - Dallas, TX, United States
Duration: Nov 3 2003Nov 6 2003

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Science Applications


Dive into the research topics of 'Data-Flow-Based Unit Testing of Aspect-Oriented Programs'. Together they form a unique fingerprint.

Cite this