SCAF는 모듈 식 패션 메모리 분석과 (선택적으로) 투기 적 주장을 결합한 혁신적인 의존성 분석 프레임 워크입니다.
SCAF의 전체 구현은 아직이 저장소에 통합되지 않았습니다. 카레로 사용할 수있는 모든 메모리 분석 모듈이 포함되어 있지만 몇 가지 다른 구성 요소 (예 : 프로파일 러)와 함께 투기 모듈은 현재 다른 저장소 (https://github.com/princetonUnsity/CPF)의 일부입니다.
이 연구의 참신, 디자인, 구현 및 평가는 Apostolakis et al.의 PLDI '20 논문에 설명되어 있습니다. 제목은 "SCAF : PREMUCUTION-AWARE 의존성 분석 프레임 워크"(ACM DL, PDF, Talk, Abstract).
PLDI 2020 논문에 제시된 평가 결과를 재현하려면 논문의 인공물을 참조하십시오.
이 작업은 CAF를 기반으로합니다 (CGO '17 By Johnson et al., ACM DL).
출판물에서 SCAF를 사용하는 경우 PLDI '20 Paper에 대한 인용에 감사드립니다.
@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 저장소를 청소하십시오.
run 루트 디렉토리에서 make uninstall SCAF를 제거하십시오.
SCAF는 사용자 정의 가능하며 투기 모듈이 비활성화되면 보수적 인 메모리 분석으로 사용할 수 있습니다.
이 프레임 워크를 사용하는 데 어려움이 있으시면 자유롭게 문제를 일으키십시오! 우리는 최선을 다해 도와 줄 것입니다.
우리는이 프레임 워크를 개선하고 더 많은 사용자를 위해 충족하기 위해 커뮤니티의 기여를 환영합니다.
SCAF는 MIT 라이센스에 따라 라이센스가 부여됩니다.