Este repositorio proporciona material complementario al documento ICSE 2023 "Análisis del impacto de las cargas de trabajo en el modelado del rendimiento de sistemas de software configurables", incluidos datos experimentales (muestras de configuración, código de sistema temático) y mediciones (rendimiento, cobertura de código específico de opciones y cargas de trabajo). ) así como un panel interactivo. Este último complementa la presentación de los resultados del estudio en el artículo y permite la reproducción de nuestros análisis y hallazgos.
El material incluye información sobre los siguientes nueve sistemas de software:
Nombre | Dominio | Idioma | Repositorio | Código utilizado/versión | Licencia |
---|---|---|---|---|---|
jump3r | Codificador de audio | Java | Link | v1.0.4 | LGPL 2.1 |
kanzi | Compresor de archivos | Java | Link | v1.9 | Licencia Apache 2.0 |
dconvert | Escalado de imagen | Java | Link | v1.0.0.-alpha7 | Licencia Apache 2.0 |
h2 | Base de datos | Java | Link | v1.4.200 | Licencia pública de Mozilla versión 2.0 |
batik | Rasterizador SVG | Java | Link | v.1.14 | Licencia Apache 2.0 |
xz | Compresor de archivos | C/C++ | Link | v5.2.0 | GPL 2.0 y GPL 3.0 |
lrzip | Compresor de archivos | C/C++ | Link | v0.651 | GPL 2.0 |
x264 | Codificador de vídeo | C/C++ | Link | baee400.. | GPL 2.0 |
z3 | Solucionador SMT | C/C++ | Link | v4.8.14 | Licencia MIT |
Este archivo incluye las configuraciones muestreadas y utilizadas para realizar los experimentos como archivos CSV:
data/coverage_raw.tar.gz
Los archivos utilizados como cargas de trabajo/entradas en los experimentos se recopilaron de diversas fuentes. Proporcionamos una lista de la procedencia de los archivos en:
data/workload_sources.csv
En cumplimiento de la licencia (LICENCIA.txt). Este archivo no incluye el conjunto completo de archivos utilizados porque no todos los archivos utilizados permiten la redistribución bajo la licencia CC BY-SA 4.0.
Este archivo incluye las mediciones de rendimiento (rendimiento y tiempo de ejecución) por configuración y carga de trabajo como archivos CSV. Las medidas de rendimiento para cada <software system>
se pueden encontrar en la siguiente subcarpeta:
dashboard/resources/<software_system>/measurements.csv
Este archivo incluye (¡como un archivo separado!) mediciones de cobertura sin procesar por configuración y carga de trabajo como archivos CSV. A partir de estos archivos, se infiere el código específico de la opción y la carga de trabajo. Las medidas de cobertura del código sin formato se pueden encontrar como un archivo tar con gz-ipped:
./coverage_raw.tar.gz
Este archivo incluye las secciones de código calculado que son a) específicas de la opción yb) específicas de la carga de trabajo y de la opción. Las secciones de código para cada <software system>
se pueden encontrar en la siguiente subcarpeta:
dashboard/resources/<software_system>/code/
Proporcionamos un panel interactivo utilizando el marco streamlit
que permite explorar en detalle nuestro análisis para cada opción de configuración y carga de trabajo. El artículo original presenta un subconjunto representativo de los resultados; todos los análisis y visualizaciones se pueden reproducir utilizando este panel. Proporcionamos una versión Docker para ejecutar el panel localmente.
Para compilar y ejecutar el contenedor Docker, ejecute los siguientes comandos:
#!/bin/sh
cd ./dashboard
docker build -t streamlitapp:latest .
docker run -p 8501:8501 streamlitapp:latest
Ahora puede explorar el panel que se ejecuta localmente en https://127.0.0.1:8501 o https://localhost:8501.
Para utilizar la aplicación dockerizada, el entorno de contenedor Docker debe estar configurado y en ejecución. Para instalar Docker, estos tutoriales proporcionan orientación: