kirancodes.me
To Proof Maintenance & Beyond!
FSE 2021★ Distinguished Artifact

Feature trace recording

Paul Maximilian Bittner, Alexander Schultheiß, Thomas Thüm, Timo Kehrer, Jeffrey M. Young, Lukas Linsbauer

Abstract

Tracing requirements to their implementation is crucial to all stakeholders of a software development process. When managing software variability, requirements are typically expressed in terms of features, a feature being a user-visible characteristic of the software. While feature traces are fully documented in software product lines, ad-hoc branching and forking, known as clone-and-own, is still the dominant way for developing multi-variant software systems in practice. Retroactive migration to product lines suffers from uncertainties and high effort because knowledge of feature traces must be recovered but is scattered across teams or even lost. We propose a semi-automated methodology for recording feature traces proactively, during software development when the necessary knowledge is present. To support the ongoing development of previously unmanaged clone-and-own projects, we explicitly deal with the absence of domain knowledge for both existing and new source code. We evaluate feature trace recording by replaying code edit patterns from the history of two real-world product lines. Our results show that feature trace recording reduces the manual effort to specify traces. Recorded feature traces could improve automation in change-propagation among cloned system variants and could reduce effort if developers decide to migrate to a product line.

BibTeX
@inproceedings{Bittner-al:FSE21,
  author    = {Paul Maximilian Bittner and
               Alexander Schulthei{\ss} and
               Thomas Th{\"{u}}m and
               Timo Kehrer and
               Jeffrey M. Young and
               Lukas Linsbauer},
  title     = {Feature trace recording},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {1007--1020},
  publisher = {{ACM}},
  year      = {2021},
}

Related papers