此儲存庫為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,這些教學提供了指導: