O SCANF é uma estrutura inovadora de análise de dependência que combina em uma análise de memória de moda modular e (opcionalmente) afirmações especulativas.
A implementação completa do SCANF ainda não está integrada neste repositório. Todos os módulos de análise de memória disponíveis estão incluídos, mas os módulos de especulação, juntamente com alguns outros componentes (por exemplo, Profilers), atualmente fazem parte de outro repositório (https://github.com/princetonuniversity/cpf).
A novidade, design, implementação e avaliação deste trabalho são descritos no artigo PLDI '20 de Apostolakis et al. Intitulado "SCAF: uma estrutura de análise de dependência consciente da especulação" (ACM DL, PDF, Talk, Resumo).
Para reproduzir os resultados da avaliação apresentados no artigo PLDI 2020, consulte o artefato do artigo:
Este trabalho se baseia no CAF (CGO '17 por Johnson et al., ACM DL).
Se você usar o SCAN em uma publicação, apreciaríamos uma citação no artigo do 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}
}
O número da versão está na forma de [v major.minor.revision ]
LLVM 9.0.1
Para construir e instalar o SCAN, execute a partir do diretório raiz do repositório: make
Execute make clean do diretório raiz para limpar o repositório.
Run make uninstall do diretório raiz para desinstalar o SCAF.
O SCANS é personalizável e pode ser usado como uma análise de memória conservadora se os módulos de especulação estiverem desativados.
Se você tiver algum problema em usar essa estrutura, fique à vontade para criar um problema! Vamos tentar o nosso melhor para ajudar.
Congratulamo -nos com contribuições da comunidade para melhorar essa estrutura e desenvolvê -la para atender a mais usuários.
O SCAN está licenciado sob a licença do MIT.