We report our research on feature traceability in software systems, originally published at the 28th ACM International Systems and Software Product Line Conference (SPLC 2024) Gr24a and awarded as Best Paper. We studied how enriching a retroactive feature tracing method with proactive tracing can benefit the tracing accuracy and found that minimal amounts of proactive traces can boost the accuracy of the examined comparison-based retroactive feature tracing method. Tracing features to software artifacts is a crucial but challenging activity for developers of variability-intensive software systems. Developers can either provide feature traces proactively at development time or recover them in retrospect. While proactive tracing promises high reliability as developers know which features they realize when working on them, it is a laborious task without immediate benefit. By contrast, automated retroactive tracing offers high automation by employing heuristics but remains unreliable and dependent on the quality of the heuristics. To exploit the mutual benefits of proactive and retroactive tracing while mitigating their drawbacks, we examine how small amounts of accurate feature traces provided proactively (give an inch) can boost the accuracy of automated, heuristic-based retroactive tracing (take a mile). Specifically, we study the effect on a comparison-based feature location technique, one representative of retroactive feature tracing. In comparison-based feature tracing, software variants are compared to elicit sets of common artifacts. We find not only that particularly a small amount of proactive feature traces (added to 5% of all nodes) can boost the accuracy of the tracing but also that the number of variants available for comparison affects the effectiveness of the combined tracing. As a result, our work lays the foundations to optimize the accuracy of retroactive feature tracing techniques with pinpointed proactive knowledge exploitation.
Greiner et al. (Thu,) studied this question.