Inferring structural patterns for concern traceability in evolving software

Barthélémy Dagenais, Silvia Breu, Frédéric Weigand Warr, Martin P. Robillard
2007 Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering - ASE '07  
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
more » ... cked 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 ISIS4J 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.
doi:10.1145/1321631.1321669 dblp:conf/kbse/DagenaisBWR07 fatcat:ua3ced52qvgarorotjaalmhoku