Aspect Language Features for Concern Coverage Profiling

By: Hridesh Rajan and Kevin J. Sullivan

PDF Download Download Paper

Abstract

In program profiling to assess test set adequacy, a challenge is to select code to be included in the assessment. Current mechanisms are coarse-grained; biased to dominant modularizations; require tedious, error-prone manual selection; and leave tester intent implicit in inputs to testing tools. Aspect-oriented constructs promise to improving testing in two ways: by improving our ability to select the code to include in adequacy criteria, and by documenting selection intentions in declarative form in the code itself. One problem is that current join point models do not reveal program behavior in enough detail to support white-box coverage analysis. Our contribution is the formulation, prototyping, and evaluation of a language-and-tool-based approach to white-box coverage adequacy analysis that we call concern coverage. We develop and evaluate one instance of the general idea in which branches, in particular, are exposed as join points to support branch coverage analysis of crosscutting concerns. Our results are consistent with the claim that the idea has the potential to improve test coverage analysis.

ACM Reference

Rajan, H. and Sullivan, K.J. 2005. Aspect Language Features for Concern Coverage Profiling. AOSD ’05: Proceedings of the 4th International Conference on Aspect-oriented Software Development (New York, NY, USA, 2005).

BibTeX Reference

@inproceedings{rajan2005aspect,
  author = {Hridesh Rajan and Kevin J. Sullivan},
  title = {Aspect Language Features for Concern Coverage Profiling},
  booktitle = {AOSD '05: Proceedings of the 4th International Conference on Aspect-oriented Software Development},
  year = {2005},
  location = {Chicago, IL},
  publisher = {ACM},
  address = {New York, NY, USA},
  entrysubtype = {conference},
  abstract = {
    In program profiling to assess test set adequacy, a challenge is to select
    code to be included in the assessment. Current mechanisms are coarse-grained;
    biased to dominant modularizations; require tedious, error-prone manual
    selection; and leave tester intent implicit in inputs to testing tools.
    Aspect-oriented constructs promise to improving testing in two ways: by
    improving our ability to select the code to include in adequacy criteria, and
    by documenting selection intentions in declarative form in the code itself.
    One problem is that current join point models do not reveal program behavior
    in enough detail to support white-box coverage analysis. Our contribution is
    the formulation, prototyping, and evaluation of a language-and-tool-based
    approach to white-box coverage adequacy analysis that we call concern
    coverage. We develop and evaluate one instance of the general idea in which
    branches, in particular, are exposed as join points to support branch coverage
    analysis of crosscutting concerns. Our results are consistent with the claim
    that the idea has the potential to improve test coverage analysis.
  }
}