SCAF
1.0.0
SCAF是一个创新的依赖分析框架,将模块化时尚记忆分析和((可选))投机性断言结合在一起。
SCAF的完整实施尚未集成到此存储库中。包括所有可用的内存分析模块,但是投机模块以及其他一些组件(例如,profilers)当前是另一个存储库的一部分(https://github.com/princetonuniverity/cpf)。
Apostolakis等人的PLDI '20论文中描述了这项工作的新颖性,设计,实施和评估。标题为“ SCAF:猜测意识依赖分析框架”(ACM DL,PDF,Talk,摘要)。
为了重现PLDI 2020年论文中提出的评估结果,请参阅本文的文物:
这项工作是建立在CAF(CGO '17,Johnson等人,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以清洁存储库。
运行从根目录到卸载SCAF的make uninstall 。
SCAF是可自定义的,如果禁用了推测模块,则可以用作保守的内存分析。
如果您使用此框架有任何麻烦,请随时创建问题!我们将尽力提供帮助。
我们欢迎社区的捐款改善此框架并将其发展起来,以适应更多用户。
SCAF已获得MIT许可证的许可。