Repositori ini menyediakan materi tambahan untuk makalah ICSE 2023 "Menganalisis Dampak Beban Kerja pada Pemodelan Kinerja Sistem Perangkat Lunak yang Dapat Dikonfigurasi", termasuk data eksperimen (contoh konfigurasi, kode sistem subjek) dan pengukuran (kinerja, cakupan kode spesifik opsi dan beban kerja ) serta dasbor interaktif. Yang terakhir ini melengkapi presentasi hasil penelitian di makalah dan memungkinkan reproduksi analisis dan temuan kami.
Materinya mencakup informasi tentang sembilan sistem perangkat lunak berikut:
Nama | Domain | Bahasa | Gudang | Kode yang Digunakan / Versi | Lisensi |
---|---|---|---|---|---|
jump3r | Pembuat Enkode Audio | Jawa | Link | v1.0.4 | LGPL 2.1 |
kanzi | Kompresor File | Jawa | Link | v1.9 | Lisensi Apache 2.0 |
dconvert | Penskalaan Gambar | Jawa | Link | v1.0.0.-alpha7 | Lisensi Apache 2.0 |
h2 | Basis data | Jawa | Link | v1.4.200 | Lisensi Publik Mozilla versi 2.0 |
batik | Rasterisasi SVG | Jawa | Link | v.1.14 | Lisensi Apache 2.0 |
xz | Kompresor File | C/C++ | Link | v5.2.0 | GPL 2.0 dan GPL 3.0 |
lrzip | Kompresor File | C/C++ | Link | v0.651 | GPL 2.0 |
x264 | Pembuat Enkode Video | C/C++ | Link | baee400.. | GPL 2.0 |
z3 | Pemecah SMT | C/C++ | Link | v4.8.14 | Lisensi MIT |
Arsip ini mencakup konfigurasi yang diambil sampelnya dan digunakan untuk melakukan eksperimen sebagai file CSV:
data/coverage_raw.tar.gz
File yang digunakan sebagai beban kerja/input dalam percobaan dikumpulkan dari berbagai sumber. Kami menyediakan daftar asal file di:
data/workload_sources.csv
Sesuai dengan lisensi (LICENSE.txt). Arsip ini tidak menyertakan kumpulan lengkap file yang digunakan karena tidak semua file yang digunakan memungkinkan untuk didistribusikan ulang di bawah lisensi CC BY-SA 4.0.
Arsip ini mencakup pengukuran kinerja (throughput dan waktu eksekusi) per konfigurasi dan beban kerja sebagai file CSV. Pengukuran kinerja untuk setiap <software system>
dapat ditemukan di subfolder berikut:
dashboard/resources/<software_system>/measurements.csv
Arsip ini mencakup (sebagai file terpisah!) pengukuran cakupan mentah per konfigurasi dan beban kerja sebagai file CSV. Berdasarkan file-file ini, kode spesifik opsi dan beban kerja disimpulkan. Pengukuran cakupan kode mentah dapat ditemukan sebagai arsip tar yang diberi gz:
./coverage_raw.tar.gz
Arsip ini mencakup bagian kode terhitung yang a) spesifik opsi dan b) spesifik beban kerja dan opsi. Bagian kode untuk setiap <software system>
dapat ditemukan di subfolder berikut:
dashboard/resources/<software_system>/code/
Kami menyediakan dasbor interaktif menggunakan frameword streamlit
yang memungkinkan penjelajahan analisis kami secara detail untuk setiap opsi konfigurasi dan beban kerja. Makalah asli menyajikan sebagian hasil yang representatif, semua analisis dan visualisasi dapat direproduksi menggunakan dasbor ini. Kami menyediakan versi Docker untuk menjalankan dasbor secara lokal.
Untuk membangun dan menjalankan container Docker, jalankan perintah berikut:
#!/bin/sh
cd ./dashboard
docker build -t streamlitapp:latest .
docker run -p 8501:8501 streamlitapp:latest
Anda sekarang dapat menjelajahi dasbor yang berjalan secara lokal di https://127.0.0.1:8501 atau https://localhost:8501.
Untuk menggunakan aplikasi yang di-docker, lingkungan container Docker harus disiapkan dan dijalankan. Untuk menginstal Docker, tutorial ini memberikan orientasi: