このリポジトリは、ICSE 2023 論文「構成可能なソフトウェア システムのパフォーマンスのモデリングに対するワークロードの影響の分析」に対する補足資料を提供します。これには、実験データ (構成サンプル、対象システム コード) および測定値 (パフォーマンス、オプションおよびワークロード固有のコード カバレッジ) が含まれます。 ) だけでなく、インタラクティブなダッシュボードも備えています。後者は論文での研究結果の提示を補完し、私たちの分析と発見の再現を可能にします。
この資料には、次の 9 つのソフトウェア システムに関する情報が含まれています。
名前 | ドメイン | 言語 | リポジトリ | 使用コード / バージョン | ライセンス |
---|---|---|---|---|---|
jump3r | オーディオエンコーダ | ジャワ | Link | v1.0.4 | LGPL 2.1 |
kanzi | ファイル圧縮ツール | ジャワ | Link | v1.9 | Apache ライセンス 2.0 |
dconvert | 画像のスケーリング | ジャワ | Link | v1.0.0.-alpha7 | Apache ライセンス 2.0 |
h2 | データベース | ジャワ | Link | v1.4.200 | Mozilla パブリック ライセンス バージョン 2.0 |
batik | SVGラスタライザー | ジャワ | Link | v.1.14 | Apache ライセンス 2.0 |
xz | ファイルコンプレッサー | C/C++ | Link | v5.2.0 | GPL 2.0 および GPL 3.0 |
lrzip | ファイル圧縮ツール | C/C++ | Link | v0.651 | GPL 2.0 |
x264 | ビデオエンコーダ | C/C++ | Link | baee400.. | GPL 2.0 |
z3 | SMTソルバー | C/C++ | 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 ファイルとして含まれています。これらのファイルに基づいて、オプションおよびワークロード固有のコードが推論されます。生のコード カバレッジ測定は、GZ で圧縮された 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 をインストールするには、次のチュートリアルで説明します。