|
4 | 4 |
|
5 | 5 | ## Overview |
6 | 6 | This research artifact contains the boosted retroactive comparison-based feature tracing algorithm as presented in our [SPLC 2024 paper](). |
| 7 | + |
7 | 8 | In the paper, we explore how minimal seeds of proactive feature traces enhance the accuracy of automated, heuristic-based retroactive tracing. |
8 | 9 | Our results demonstrate that only small amounts of proactive feature information can boost the overall accuracy of the tracing and |
9 | 10 | that the number of variants compared affects the effectiveness of the boosted tracing approach. |
10 | 11 |
|
11 | | -TraceBoosting is an algorithm designed to enhance retroactive feature tracing with proactively collected feature traces. |
12 | | -It is particularly useful for projects with multiple product variants, where it can improve the accuracy and efficiency of the tracing process. |
13 | | -This projects presents a prototype of our algorithm that boosts comparison-based retroactive feature tracing. |
14 | | -The used retroactive comparison-based tracing method is inspired by the algorithm used by the tool [ECCO](https://jku-isse.github.io/ecco/). |
| 12 | +<img alt="Comparison-Based Feature Tracing" src="docs/boostedTracingConcept.png" height="500" /> |
| 13 | + |
| 14 | +TraceBoosting, as sketched conceptually in above figure, is an algorithm designed to enhance retroactive feature tracing with proactively collected feature traces. |
| 15 | +Particularly, this implementation compares multiple product variants which are represented as artifact trees. |
| 16 | +It builds sets of co-occurring artifacts by matching the trees and computes sets of possible and impossible features for these co-occurring artifact sets based on the respective configuration in which they occur. |
| 17 | +This heuristic retroactive comparison-based tracing method is inspired by the algorithm used in the tool [ECCO](https://jku-isse.github.io/ecco/). |
| 18 | + |
| 19 | +To increase the accuracy and efficiency of the heuristic algorithm, |
| 20 | +we integrate proactive knowledge (represented as rectangles attached to artifact nodes in above figure). |
| 21 | +Each time a proactive feature trace is available in a co-occuring artifact set and not contradicting another proactive trace, |
| 22 | +the expression of the proactive trace is mapped onto all artifact nodes in the set. |
| 23 | +In this way, we can propagate the reliable knowledge, provided typically by humans, to the remaining artifact nodes in a co-occuring artifact set and eventually, |
| 24 | +spread the information across variants. |
15 | 25 |
|
16 | 26 | ## Dependencies |
17 | 27 | - [Java using JDK17 or newer](https://www.oracle.com/java/technologies/downloads/) |
|
0 commit comments