Replication package for the paper "On the Use of Multi-valued Decision Diagrams to Count Valid Configurations of Feature Models"
benchmarks:industrial: set of industrial feature modelssynthetic: set of synthetic feature models
benchmarks_converter: Java program used to translate the SPLOT benchmarks into the FeatureIDE format. These models are used to reply to RQ1, RQ2, and RQ3, and stored in thebenchmarks/syntheticfolderexperiments_results: evaluation scripts and results obtained with our experiments. These data are used to reply to all RQs in our paperimages: the folder contains the images produced by evaluation scripts and used in the paperBenchmarksAnalysis_RQ1.ipynb: jupyter notebook used to answer RQ1BenchmarksAnalysis_RQ2.ipynb: jupyter notebook used to answer RQ2BenchmarksAnalysis_RQ3.ipynb: jupyter notebook used to answer RQ3BenchmarksAnalysis_RQ4.ipynb: jupyter notebook used to answer RQ4experiments.csv: it contains the results of the experiments (used in RQ1, RQ2, and RQ3) on synthetic benchmarksFMAnalysis.ipynb: jupyter notebook used to extract the percentage of AND, OR and ALT groups in theindustrialbenchmarks
fm_counter_bdd: the folder contains the java program used to compute the number of valid configurations using BDDsdist: the folder contains the executableCounter.jar: executable jarCountWithBDDs.sh: bash script executingCounter.jarover all theindustrialbenchmarks
src: the folder contains the Java source code of thefm_counter_bddproject
fm_counter_mdd: the folder contains the C++ program used to compute the number of valid configurations using MDDs, i.e., the approach we present in the paperdist: the folder contains the executableFMBuilderExperimenter: executable, compiled for Ubunturun_experiments.sh: bash script executingFMBuilderExperimenterover all thesyntheticbenchmarks
src: the folder contains the C++ source code of thefm_counter_mddproject