Ce référentiel fournit des éléments supplémentaires au document ICSE 2023 « Analyse de l'impact des charges de travail sur la modélisation des performances des systèmes logiciels configurables », y compris des données expérimentales (échantillons de configuration, code système concerné) et des mesures (performances, couverture du code spécifique aux options et à la charge de travail). ) ainsi qu'un tableau de bord interactif. Ce dernier complète la présentation des résultats de l’étude dans l’article et permet de reproduire nos analyses et nos résultats.
Le matériel comprend des informations sur les neuf systèmes logiciels suivants :
Nom | Domaine | Langue | Dépôt | Code utilisé / version | Licence |
---|---|---|---|---|---|
jump3r | Encodeur audio | Java | Link | v1.0.4 | LGPL2.1 |
kanzi | Compresseur de fichiers | Java | Link | v1.9 | Licence Apache 2.0 |
dconvert | Mise à l'échelle de l'image | Java | Link | v1.0.0.-alpha7 | Licence Apache 2.0 |
h2 | Base de données | Java | Link | v1.4.200 | Licence publique Mozilla version 2.0 |
batik | Rastériseur SVG | Java | Link | v.1.14 | Licence Apache 2.0 |
xz | Compresseur de fichiers | C/C++ | Link | v5.2.0 | GPL 2.0 et GPL 3.0 |
lrzip | Compresseur de fichiers | C/C++ | Link | v0.651 | GPL 2.0 |
x264 | Encodeur vidéo | C/C++ | Link | baee400.. | GPL 2.0 |
z3 | Solveur SMT | C/C++ | Link | v4.8.14 | Licence MIT |
Cette archive comprend les configurations échantillonnées et utilisées pour mener les expériences sous forme de fichiers CSV :
data/coverage_raw.tar.gz
Les fichiers utilisés comme charges de travail/entrées dans les expériences ont été collectés à partir de diverses sources. Nous fournissons une liste de la provenance des fichiers à l'adresse suivante :
data/workload_sources.csv
Conforme à la licence (LICENSE.txt). Cette archive n'inclut pas l'ensemble complet des fichiers utilisés car tous les fichiers utilisés ne permettent pas la redistribution sous la licence CC BY-SA 4.0.
Cette archive inclut les mesures de performances (débit et temps d'exécution) par configuration et charge de travail sous forme de fichiers CSV. Les mesures de performances pour chaque <software system>
se trouvent dans le sous-dossier suivant :
dashboard/resources/<software_system>/measurements.csv
Cette archive comprend (sous forme de fichier séparé !) les mesures de couverture brutes par configuration et charge de travail sous forme de fichiers CSV. Sur la base de ces fichiers, le code spécifique aux options et à la charge de travail est déduit. Les mesures de couverture du code brut peuvent être trouvées sous forme d'archive tar gz :
./coverage_raw.tar.gz
Cette archive comprend les sections de code calculées qui sont a) spécifiques à l'option et b) spécifiques à la charge de travail et à l'option. Les sections de code pour chaque <software system>
se trouvent dans le sous-dossier suivant :
dashboard/resources/<software_system>/code/
Nous fournissons un tableau de bord interactif utilisant le framework streamlit
qui permet d'explorer en détail notre analyse pour chaque option de configuration et charge de travail. L'article original présente un sous-ensemble représentatif des résultats, toutes les analyses et visualisations peuvent être reproduites à l'aide de ce tableau de bord. Nous fournissons une version Docker pour exécuter le tableau de bord localement.
Pour créer et exécuter le conteneur Docker, exécutez les commandes suivantes :
#!/bin/sh
cd ./dashboard
docker build -t streamlitapp:latest .
docker run -p 8501:8501 streamlitapp:latest
Vous pouvez désormais explorer le tableau de bord exécuté localement sur https://127.0.0.1:8501 ou https://localhost:8501.
Pour utiliser l'application dockerisée, l'environnement de conteneur Docker doit être configuré et exécuté. Pour installer Docker, ces didacticiels fournissent des informations :