Inferring structural patterns for concern traceability in evolving software

  • Authors:
  • Barthélémy Dagenais;Silvia Breu;Frédéric Weigand Warr;Martin P. Robillard

  • Affiliations:
  • McGill University, Montréal, PQ, Canada;University of Cambridge, Cambridge, United Kingdom;McGill University, Montréal, PQ, Canada;McGill University, Montréal, PQ, Canada

  • Venue:
  • Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.01

Visualization

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