You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-2Lines changed: 10 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,19 @@
3
3
VEVOS is a tool suite for the simulation of the evolution of clone-and-own projects and consists of two main components: The ground truth extraction, called VEVOS/Extraction and the variant simulation called VEVOS/Simulation.
4
4
5
5
This repository contains VEVOS/Simulation and thus the second part of the replication package for the paper _Simulating the Evolution of Clone-and-Own Projects with VEVOS_ published at the International Conference on Evaluation and Assessment in Software Engineering (EASE) 2022 ([doi](https://doi.org/10.1145/3530019.3534084)).
6
-
VEVOS/Simulation is a java library for generating variants with ground truth from an input software product line and dataset extracted with VEVOS/Extraction.
6
+
VEVOS/Simulation is a java library for generating variants with ground truth from an input software product line and dataset extracted with [VEVOS/Extraction](https://github.com/VariantSync/VEVOS_Extraction).
7
7
8
8

9
9
10
+
## Version 2.0.0 Update
11
+
With the latest version, VEVOS - Variant Simulation ensures compatability with ground truths extracted by VEVOS Extraction v2.0.0. It can therefore no longer be used for ground truths extracted with older VEVOS Extraction versions.
12
+
13
+
There were no major interface changes besides the compatability with the new ground truth format.
14
+
10
15
## Example Usage and Main Features
11
16
12
17
VEVOS/Simulation is supposed to be used by your research prototype on clone-and-own or variability in software systems.
13
-
In the following we give a step by step example in how the library can be used to
18
+
In the following we give a step-by-step example in how the library can be used to
14
19
- parse the ground truth dataset extracted by VEVOS/Extraction,
15
20
- traverse the datasets' evolution history,
16
21
- sample variants randomly, or use a predefined set of variants for simulation,
@@ -74,6 +79,7 @@ In particular, the `VariabilityDataset` provides:
74
79
-_success commits_ for which the extraction of feature mappings and feature model succeeded,
75
80
-_partial success_ commits for which part of the extraction failed; Usually, a partial success commit has feature mappings but no file presence condition and no feature model,
76
81
-_error commits_ for which the extraction failed.
82
+
-_empty commits_ for which there were no files for which an extraction was performed
77
83
78
84
To generate variants, we have to specify which variants should be generated.
79
85
Therefore, a `Sampler` is used that returns the set of variants to use for a certain feature model.
@@ -112,6 +118,8 @@ final SPLRepository splRepository = new SPLRepository(splRepositoryPath.path());
Note that Busybox has a special subclass called `BusyboxRepository` that performs some necessary pre- and postprocessing on the product line's source code.
116
124
117
125
We are now ready to traverse the evolution history to generate variants:
0 commit comments