Introducing Interactions in Multi-Objective Optimization of Software Architectures
https://arxiv.org/abs/2308.15084
Initialize the python execution environment:
git clone https://github.com/SpencerLabAQ/replication-package__interactive-search-based-software-performance.git
cd replication-package__interactive-search-based-software-performance
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Compute the quality indicators and generate Table 4:
python rq1_quality.py
The previous command will also generate two CSV files (ttbs_metrics_by_run.csv
and ccm_metrics_by_run.csv
) which contain a run by run computation of the quality indicators, and are used to generate the plots of RQ1.
Generate the plots in Figures 4 and 5:
# Train Ticket case study
python rq1_quality_plots.py ttbs_metrics_by_run.csv ttbs
# CoCOME case study
python rq1_quality_plots.py ccm_metrics_by_run.csv ccm
The resulting plots will be saved in the plots folder.
Execute notebooks rq2-cocome.ipynb
or rq2-trainticket.ipynb
to generate the charts for Figures 7 and 8.
Among other computations, the notebooks above will generate several CSV and DOT files under the datasets folder.
Execute notebook tree-scripts.ipynb
to generate the charts for Figure 6.
The datasets needed by the notebooks are automatically loaded from a default folder.
Execute notebooks rq3-cocome.ipynb
or rq3-trainticket.ipynb
to generate the charts for Figures 9 and 10.
Among other computations, the notebooks above will generate several CSV and DOT files under the datasets folder.
Execute notebook tree-scripts.ipynb
to generate the charts for Figures 11 and 12.
The datasets needed by the notebooks are automatically loaded from a default folder.
The experiments in the paper were performed using EASIER, which is available in a different repository:
https://github.com/SEALABQualityGroup/EASIER
All the data gathered during such experiments is provided here, in the zips folder.