Skip to content

Commit d1d7829

Browse files
committed
accordingly refactored, more explanation
1 parent 6ef2f2b commit d1d7829

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ that the number of variants compared affects the effectiveness of the boosted tr
1212
<img alt="Comparison-Based Feature Tracing" src="docs/boostedTracingConcept.png" height="500" />
1313

1414
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 _parsed_ into artifact trees (V1-V3).
15+
Particularly, this implementation compares multiple variant variants which are _parsed_ into artifact trees (V1-V3).
1616
It builds sets of co-occurring artifacts (CA1-CA5) by matching the tree nodess and edges and computes sets of possible and impossible features for these co-occurring artifact sets
1717
based on the respective configuration in which the tree elements occur.
1818
This heuristic retroactive comparison-based tracing method is inspired by the algorithm used in the tool [ECCO](https://jku-isse.github.io/ecco/).
@@ -55,34 +55,34 @@ Add the following dependency to your `pom.xml` file:
5555
## Usage
5656
To use the TraceBoosting algorithm, follow these steps:
5757

58-
1. Initialize an empty list to hold `ProductPassport` objects that comprise the artifact locations for each variant.
59-
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.
58+
1. Initialize an empty list to hold `VariantPassport` objects that comprise the artifact locations for each variant.
59+
2. Iterate the collection of variants for which traces are to be computed, create a `VariantPassport` for each variant and add it to the list.
6060
3. Instantiate the TraceBoosting algorithm with
61-
- the list of product passports,
61+
- the list of variant passports,
6262
- the working directory, and
6363
- the 'language' used for parsing in the tracing algorithm (e.g. a generic, line-based parsing of lines into artifact nodes).
64-
4. Retrieve the list of products from the TraceBoosting instance, which are abstracted as AST structures.
65-
5. Apply the proactively collected feature traces to the products by settings the mappings for the respective nodes in the products' AST.
66-
6. Compute the Main tree, which represents the AST with feature traces, resulting from merging the products.
64+
4. Retrieve the list of variants from the TraceBoosting instance, which are abstracted as AST structures.
65+
5. Apply the proactively collected feature traces to the variants by settings the mappings for the respective nodes in the variants' AST.
66+
6. Compute the Main tree, which represents the AST with feature traces, resulting from merging the variants.
6767

6868
The following code snippet demonstrates how to use the TraceBoosting algorithm:
6969

7070
```java
71-
List<ProductPassport> productPassports = new ArrayList<>();
71+
List<VariantPassport> variantPassports = new ArrayList<>();
7272
for (Variant variant : variants) {
7373
String variantName = variant.getName();
74-
productPassports.add(new ProductPassport(variantName,
74+
variantPassports.add(new VariantPassport(variantName,
7575
variantsDirectory.resolve(variantName), configFileMap.get(variantName)));
7676
}
7777

78-
TraceBoosting traceBoosting = new TraceBoosting(productPassports,
78+
TraceBoosting traceBoosting = new TraceBoosting(variantPassports,
7979
workingDirectory, ESupportedLanguages.LINES);
8080

81-
List<Product> products = traceBoosting.getProducts();
81+
List<Variant> variants = traceBoosting.getVariants();
8282

83-
// Now apply proactively created traces to the products. You can directly access the AST nodes of the products.
84-
// TODO: Implement distribution of proactively collected mappings
83+
// Now apply proactively created traces to the variants. You can directly access the AST nodes of the variants.
84+
distributeMappings(variants)
8585

8686
// Finally, execute the boosting algorithm
87-
MainTree mainTree = traceBoosting.compute();
87+
MainTree mainTree = traceBoosting.computeMapping();
8888
```

0 commit comments

Comments
 (0)