Этот репозиторий предоставляет дополнительные материалы к документу ICSE 2023 «Анализ влияния рабочих нагрузок на моделирование производительности конфигурируемых программных систем», включая экспериментальные данные (образцы конфигурации, код рассматриваемой системы) и измерения (производительность, покрытие кода для конкретных опций и рабочих нагрузок). ), а также интерактивную панель мониторинга. Последнее дополняет представление результатов исследования в статье и позволяет воспроизвести наш анализ и выводы.
Материал включает информацию о следующих девяти программных системах:
Имя | Домен | Язык | Репозиторий | Используемый код/версия | Лицензия |
---|---|---|---|---|---|
jump3r | Аудио кодер | Ява | Link | v1.0.4 | LGPL 2.1 |
kanzi | Сжатие файлов | Ява | Link | v1.9 | Лицензия Апач 2.0 |
dconvert | Масштабирование изображения | Ява | Link | v1.0.0.-alpha7 | Лицензия Апач 2.0 |
h2 | База данных | Ява | Link | v1.4.200 | Общественная лицензия Mozilla версии 2.0. |
batik | Растеризатор SVG | Ява | Link | v.1.14 | Лицензия Апач 2.0 |
xz | Компрессор файлов | С/С++ | Link | v5.2.0 | GPL 2.0 и GPL 3.0 |
lrzip | Сжатие файлов | С/С++ | Link | v0.651 | Лицензионная лицензия 2.0 |
x264 | Видеокодер | С/С++ | Link | baee400.. | Лицензионная лицензия 2.0 |
z3 | SMT-решатель | С/С++ | Link | v4.8.14 | Лицензия MIT |
Этот архив включает в себя конфигурации, выбранные и использованные для проведения экспериментов, в виде файлов CSV:
data/coverage_raw.tar.gz
Файлы, используемые в качестве рабочей нагрузки/входных данных в экспериментах, были собраны из различных источников. Мы предоставляем список происхождения файлов по адресу:
data/workload_sources.csv
В соответствии с лицензией (LICENSE.txt). Этот архив не включает в себя полный набор используемых файлов, поскольку не все используемые файлы допускают распространение по лицензии CC BY-SA 4.0.
Этот архив включает измерения производительности (пропускная способность и время выполнения) для каждой конфигурации и рабочей нагрузки в виде файлов CSV. Показатели производительности для каждой <software system>
можно найти в следующей подпапке:
dashboard/resources/<software_system>/measurements.csv
Этот архив включает (в виде отдельного файла!) необработанные измерения покрытия для каждой конфигурации и рабочей нагрузки в виде файлов CSV. На основе этих файлов выводится код, зависящий от опции и рабочей нагрузки. Необработанные измерения покрытия кода можно найти в виде tar-архива, упакованного gz:
./coverage_raw.tar.gz
Этот архив включает разделы рассчитанного кода, которые а) зависят от опции и б) зависят от рабочей нагрузки и опции. Разделы кода для каждой <software system>
можно найти в следующей подпапке:
dashboard/resources/<software_system>/code/
Мы предоставляем интерактивную информационную панель с использованием streamlit
, которая позволяет подробно изучить наш анализ для каждого варианта конфигурации и рабочей нагрузки. В исходной статье представлена репрезентативная часть результатов, все анализы и визуализации могут быть воспроизведены с помощью этой информационной панели. Мы предоставляем версию в формате Docker для локального запуска панели управления.
Чтобы создать и запустить контейнер Docker, выполните следующие команды:
#!/bin/sh
cd ./dashboard
docker build -t streamlitapp:latest .
docker run -p 8501:8501 streamlitapp:latest
Теперь вы можете изучить панель мониторинга, работающую локально по адресу https://127.0.0.1:8501 или https://localhost:8501.
Чтобы использовать докеризованное приложение, необходимо настроить и запустить контейнерную среду Docker. Чтобы установить Docker, ознакомьтесь с этими руководствами: