SCAFは、モジュラーファッションメモリ分析と(オプションでは)投機的アサーションを組み合わせた革新的な依存分析フレームワークです。
SCAFの完全な実装は、このリポジトリにまだ統合されていません。すべてのクロレクティで利用可能なメモリ分析モジュールが含まれていますが、現在、いくつかの他のコンポーネント(プロファイラーなど)とともに投機モジュールは、現在別のリポジトリ(https://github.com/princetonuniversity/cpf)の一部です。
この作業の斬新さ、設計、実装、および評価は、Apostolakis et al。 「scaf:a qualculation-aware依存分析フレームワーク」(acm dl、pdf、talk、abstract)というタイトル。
PLDI 2020ペーパーに記載されている評価結果を再現するには、論文のアーティファクトを参照してください。
この作業は、CAF(CGO '17 by Johnson et al。、ACM DL)に基づいています。
出版物でSCAFを使用する場合、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}
}
バージョン番号は[v major.minor.revision ]の形式です
LLVM 9.0.1
SCAFを構築およびインストールするには、リポジトリルートディレクトリからmakeします。
ルートディレクトリからmake clean 、リポジトリをクリーニングします。
ルートディレクトリからmake uninstall実行して、SCAFをアンインストールします。
SCAFはカスタマイズ可能であり、投機モジュールが無効になっている場合、保守的な記憶分析として使用できます。
このフレームワークを使用するのに問題がある場合は、お気軽に問題を作成してください!私たちは支援するために最善を尽くします。
コミュニティからの貢献を歓迎し、このフレームワークを改善し、より多くのユーザーに対応するために進化させます。
SCAFは、MITライセンスに基づいてライセンスされています。