This repository contains all the resources and artifacts of the paper entitled Monte Carlo Simulations for Variability Analyses in Highly Configurable Systems submitted in the 23rd International Workshop on Configuration (ConfWS'21) by the authors José Miguel Horcas, A. Germán Márquez, José A. Galindo, and David Benavides.
The following files contains the results of the Monte Carlo simulations based analysis of the jHipster feature model used in the paper:
- Analysis of the variation points and variants
- Analysis of the variation points and variant combinations
- Approximation of the Monte Carlo simulations to the real probability
- Python 3.9+
-
Clone/Download this repository:
git clone https://github.com/diverso-lab/montecarlo_analysis.git
-
Create a virtual environment and activate it:
python -m venv env
In Linux:
source env/bin/activate
In Windows:env\Scripts\Activate
-
Install the module dependencies:
pip install -r requirements.txt
-
Launch the analysis:
python main_jhipster_analysis.py
This will create the three output files listed above with the results.
The following parameters can be configured in main_jhipster_analysis.py
to change the behaviour of the analysis:
- Percentage of Monte Carlo simulations: Use the `PERCENTAGE_SIMULATIONS = 0.01` constant (e.g., 0.01 for 1%).
- Number of experiments (runs) to calculate medians, means, and standard deviations: `RUNS = 30`.
- Probability precision for results: `DIGIT_PRECISION = 4` for floating numbers with 4 decimal.
- Maximum number of Monte Carlo simulations for verifying the approximation to the real probabilities: `MAX_SIMULATIONS_APPROXIMATION = 5000`.