kirancodes.me
To Proof Maintenance & Beyond!

Regression Test Selection for AspectJ Software

Guoqing Xu, Atanas Rountev

Abstract

As aspect-oriented software development gains popularity, there is growing interest in using aspects to implement cross-cutting concerns in object-oriented systems. When aspect-oriented features are added to an object-oriented program, or when an existing aspect-oriented program is modified, the new program needs to be regression tested to validate these changes. To reduce the cost of regression testing, a regression-test-selection technique can be used to select only a necessary subset of test cases to rerun. Unfortunately, existing approaches for regression test selection for object-oriented software are not effective in the presence of aspectual information woven into the original code. This paper proposes a new regression-test-selection technique for AspectJ programs. At the core of our approach is a new control-flow representation for AspectJ software which captures precisely the semantic intricacies of aspect-related interactions. Based on this representation, we develop a novel graph comparison algorithm for test selection. Our experimental evaluation shows that, compared to existing approaches, the proposed technique is capable of achieving significantly more precise test selection.

BibTeX
@inproceedings{Xu-Rountev:ICSE07,
  author    = {Guoqing Xu and
               Atanas Rountev},
  title     = {Regression Test Selection for {AspectJ} Software},
  booktitle = {ICSE},
  pages     = {65--74},
  publisher = {{IEEE} Computer Society},
  year      = {2007},
}

Related papers