kirancodes.me
To Proof Maintenance & Beyond!

Inferring structural patterns for concern traceability in evolving software

Barthélémy Dagenais, Silvia Breu, Frédéric Weigand Warr, Martin P. Robillard

Abstract

As part of the evolution of software systems, effort is often invested to discover in what parts of the source code a feature (or other concern) is implemented. Unfortunately, knowledge about a concern's implementation can become invalid as the system evolves. We propose to mitigate this problem by automatically inferring structural patterns among the elements identified as relevant to a concern's implementation. We then document the inferred patterns as rules that can be checked as the source code evolves. Checking whether structural patterns hold across different versions of a system enables the automatic identification of new elements related to a documented concern. We implemented our technique for JAVA in an Eclipse plug-in called ISIS and applied it to a number of concerns. With a case study spanning 34 versions of the development history of an open-source system, we show how our approach supports the tracking of a concern's implementation through modifications such as extensions and refactorings

BibTeX
@inproceedings{Dagenais-al:ASE07,
  author    = {Barth{\'{e}}l{\'{e}}my Dagenais and
               Silvia Breu and
               Fr{\'{e}}d{\'{e}}ric Weigand Warr and
               Martin P. Robillard},
  title     = {Inferring structural patterns for concern traceability in evolving software},
  booktitle = {ASE},
  pages     = {254--263},
  publisher = {{ACM}},
  year      = {2007},
}

Related papers