SCAF adalah kerangka analisis ketergantungan inovatif yang menggabungkan dalam analisis memori mode modular dan (opsional) pernyataan spekulatif.
Implementasi lengkap SCAF belum terintegrasi dalam repositori ini. Semua modul analisis memori yang tersedia secara rendah disertakan, tetapi modul spekulasi bersama dengan beberapa komponen lainnya (misalnya, profiler) saat ini menjadi bagian dari repositori lain (https://github.com/princetonuniversity/cpf).
Kebaruan, desain, implementasi, dan evaluasi karya ini dijelaskan dalam makalah PLDI '20 oleh Apostolakis et al. Berjudul "SCAF: Kerangka Analisis Ketergantungan Spekulasi-Sehat" (ACM DL, PDF, Talk, Abstrak).
Untuk mereproduksi hasil evaluasi yang disajikan dalam makalah PLDI 2020, silakan merujuk pada artefak kertas:
Karya ini dibangun di atas CAF (CGO '17 oleh Johnson et al., ACM DL).
Jika Anda menggunakan SCAF dalam publikasi, kami akan menghargai kutipan untuk kertas PLDI '20:
@inproceedings{apostolakis:2020:pldi,
author = {Apostolakis, Sotiris and Xu, Ziyang and Tan, Zujun and Chan, Greg and Campanoni, Simone and August, David I.},
title = {SCAF: A Speculation-Aware Collaborative Dependence Analysis Framework},
year = {2020},
isbn = {9781450376136},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3385412.3386028},
doi = {10.1145/3385412.3386028},
booktitle = {Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation},
pages = {638–654},
numpages = {17},
keywords = {collaboration, dependence analysis, speculation},
location = {London, UK},
series = {PLDI 2020}
}
Nomor versi dalam bentuk [v mayor.minor.revision ]
LLVM 9.0.1
Untuk membangun dan menginstal SCAF, jalankan dari direktori root repositori: make
Jalankan make clean dari direktori root untuk membersihkan repositori.
Jalankan make uninstall dari direktori root untuk menghapus instalan SCAF.
SCAF dapat disesuaikan dan dapat digunakan sebagai analisis memori konservatif jika modul spekulasi dinonaktifkan.
Jika Anda mengalami kesulitan menggunakan kerangka kerja ini, silakan membuat masalah! Kami akan mencoba yang terbaik untuk membantu.
Kami menyambut kontribusi dari masyarakat untuk meningkatkan kerangka kerja ini dan mengembangkannya untuk memenuhi lebih banyak pengguna.
SCAF dilisensikan di bawah lisensi MIT.