The repository consists of the following main components:
- final_results: Contains the processed output of the results in the publication
- iso_models: Contains the feature models representing the expressive concepts in isolation
- repo_models: Contains the basic industrial feature models
- rnd_models: Contains the randomly generated feature models containing different combinations of the concepts
- lib: Contains the external dependencies required for running the evaluation
- eval.py: Runner for the evaluation
Note that the industrial dataset is omitted in this repository due to confidentiality.
The binaries provided have been tested on Ubuntu and Fedora only. Depending on your operating system you may need to recompile d4 and p2d. For d4, there are pre-compiled binaries for several OS in their CI/CD.
Install dependencies: pip3 install -r requirements.txt
Evaluate on isolated models: python3 eval.py isolated
Evaluate on random models: python3 eval.py random
Evaluate on real-world model from collection repository: python3 eval.py repo
Note that the empirical evaluation is computationally demanding. Depending on the dataset, the evaluation may take days of runtime and dozens of GB of memory on the drive.