Skip to content

Commit 71637a3

Browse files
committed
refine explanations
1 parent 4eaf996 commit 71637a3

1 file changed

Lines changed: 15 additions & 11 deletions

File tree

README.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
# trace-boosting: Give an Inch and Take a Mile? Effects of Adding Reliable Knowledge to Heuristic Feature Tracing
44

55
## Overview
6-
This research artifact is based on the findings of our SPLC 2024 paper on boosting retroactive feature tracing techniques with proactive traces.
7-
Our paper explores how providing a minimal seed of accurate feature traces proactively can significantly enhance the accuracy of automated, heuristic-based retroactive tracing.
8-
The paper demonstrates that increasing amounts of proactive information can boost the overall accuracy of the tracing and that the number of variants compared affects the effectiveness of the combined tracing approach.
6+
This research artifact contains the boosted retroactive comparison-based feature tracing algorithm as presented in our [SPLC 2024 paper]().
7+
In the paper, we explore how minimal seeds of proactive feature traces enhance the accuracy of automated, heuristic-based retroactive tracing.
8+
Our results demonstrate that only small amounts of proactive feature information can boost the overall accuracy of the tracing and
9+
that the number of variants compared affects the effectiveness of the boosted tracing approach.
910

1011
TraceBoosting is an algorithm designed to enhance retroactive feature tracing with proactively collected feature traces.
1112
It is particularly useful for projects with multiple product variants, where it can improve the accuracy and efficiency of the tracing process.
@@ -42,14 +43,17 @@ Add the following dependency to your `pom.xml` file:
4243
## Usage
4344
To use the TraceBoosting algorithm, follow these steps:
4445

45-
1. Initialize a list to hold `ProductPassport` objects that describe the artifact locations for each variant.
46-
2. Iterate over the collection of variants for which traces are to be computed, creating a `ProductPassport` for each and adding it to the list.
47-
3. Instantiate the TraceBoosting algorithm with the product passports, working directory, and the supported language for tracing.
48-
4. Retrieve the list of products from the TraceBoosting instance.
49-
5. Apply the proactively collected traces to the products by settings the mappings for the products' AST nodes.
50-
6. Compute the Main tree, which represents the merged variant AST with feature traces.
51-
52-
Here is a code snippet demonstrating how to use the TraceBoosting algorithm:
46+
1. Initialize an empty list to hold `ProductPassport` objects that comprise the artifact locations for each variant.
47+
2. Iterate the collection of variants for which traces are to be computed, create a `ProductPassport` for each variant and add it to the list.
48+
3. Instantiate the TraceBoosting algorithm with
49+
- the list of product passports,
50+
- the working directory, and
51+
- the 'language' used for parsing in the tracing algorithm (e.g. a generic, line-based parsing of lines into artifact nodes).
52+
4. Retrieve the list of products from the TraceBoosting instance, which are abstracted as AST structures.
53+
5. Apply the proactively collected feature traces to the products by settings the mappings for the respective nodes in the products' AST.
54+
6. Compute the Main tree, which represents the AST with feature traces, resulting from merging the products.
55+
56+
The following code snippet demonstrates how to use the TraceBoosting algorithm:
5357

5458
```java
5559
List<ProductPassport> productPassports = new ArrayList<>();

0 commit comments

Comments
 (0)