该存储库为 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 | 文件压缩器 | C/C++ | Link | v5.2.0 | GPL 2.0 和 GPL 3.0 |
lrzip | 文件压缩器 | C/C++ | Link | v0.651 | 通用公共许可证2.0 |
x264 | 视频编码器 | C/C++ | Link | baee400.. | 通用公共许可证2.0 |
z3 | SMT求解器 | C/C++ | Link | v4.8.14 | 麻省理工学院许可证 |
该存档包括以 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 文件形式的工作负载。根据这些文件,可以推断出特定于选项和工作负载的代码。原始代码覆盖率测量可以作为 gz-ipped tar 存档找到:
./coverage_raw.tar.gz
该存档包括 a) 特定于选项和 b) 特定于工作负载和选项的计算代码部分。每个<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。要安装 Docker,这些教程提供了指导: