On feature traceability in object oriented programs
Giuliano Antoniol, Ettore Merlo, Yann‐Gaël Guéhéneuc, Houari A. Sahraoui · 2005
Open-source and industrial software systems often lack upto-date documents on the implementation of user-observable functionalities. This lack of documents is particularly hindering for large systems. Moreover, as with any other software artifacts, user-observable functionalities evolve through software evolution activities. Evolution activities sometimes have undesired and unexpected side-effects on other functionalities, causing these to fail or to malfunction. In this position paper, we promote the idea that a traceability link between user-observable functionalities and constituents of a software architecture (classes, methods... implementing the functionalities) is essential to reduce the software evolution effort. We outline an approach to recover and to study the evolution of features—subsets of the constituents of a software architecture—responsible for a functionality.