SCAF est un cadre d'analyse de dépendance innovante qui combine dans une analyse de mémoire de mode modulaire et (éventuellement) des affirmations spéculatives.
L'implémentation complète de SCAF n'est pas encore intégrée dans ce référentiel. Tous les modules d'analyse de mémoire disponibles de manière currette sont inclus, mais les modules de spéculation ainsi que quelques autres composants (par exemple, profilers) font actuellement partie d'un autre référentiel (https://github.com/princetonuniversity/cpf).
La nouveauté, la conception, la mise en œuvre et l'évaluation de ce travail sont décrites dans l'article PLDI '20 d'Apostolakis et al. intitulé "SCAF: un cadre d'analyse de dépendance à la spéculation" (ACM DL, PDF, Talk, Résumé).
Pour reproduire les résultats d'évaluation présentés dans l'article PLDI 2020, veuillez vous référer à l'artefact de l'article:
Ce travail s'appuie sur CAF (CGO '17 par Johnson et al., ACM DL).
Si vous utilisez SCAF dans une publication, nous apprécierions une citation au papier 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}
}
Le numéro de version se présente sous la forme de [v Major.Minor.Revision ]
Llvm 9.0.1
Pour construire et installer SCAF, exécuter à partir du répertoire racine du référentiel: make
Exécutez make clean à partir du répertoire racine pour nettoyer le référentiel.
Exécutez make uninstall le répertoire racine à désinstaller SCAF.
SCAF est personnalisable et peut être utilisé comme analyse de mémoire conservatrice si les modules de spéculation sont désactivés.
Si vous avez du mal à utiliser ce cadre, n'hésitez pas à créer un problème! Nous ferons de notre mieux pour vous aider.
Nous accueillons les contributions de la communauté pour améliorer ce cadre et l'évoluer pour répondre à plus d'utilisateurs.
SCAF est autorisé sous la licence du MIT.