Vast es una biblioteca para el análisis de programas e instrumentación de C/C ++ y los idiomas relacionados. Vast proporciona una base para la representación de programas personalizables para un amplio espectro de análisis. Utilizando la infraestructura MLIR, Vast proporciona un conjunto de herramientas para representar el programa C/C ++ en varias etapas de la compilación y para transformar la representación en la abstracción del programa mejor ajustado.
Para obtener más información, consulte TrailOfBits.github.io/vast/.
Puede experimentar con Vast On Compiler Explorer. Siéntase libre de usar vastos y producir dialectos MLIR. Para especificar la salida MLIR deseada, utilice la opción -vast-emit-mlir=<dialect> . Actualmente, las opciones compatibles son:
-vast-emit-mlir=hl para generar dialecto de alto nivel.-vast-emit-mlir=llvm para generar el dialecto LLVM MLIR.Consulte la documentación del frente para obtener detalles adicionales.
Vast tiene licencia de acuerdo con la licencia Apache 2.0. Vastas vastas contra y usan API de Clang y LLVM. Clang también tiene licencia bajo Apache 2.0, con excepciones LLVM.
Esta investigación se desarrolló con fondos de la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA). Las opiniones, opiniones y/o hallazgos expresados son las del autor y no deben interpretarse como representando las opiniones o políticas oficiales del Departamento de Defensa o del gobierno de los Estados Unidos.
Declaración de distribución A: aprobado para la liberación pública, Distribución ilimitada