

Noticias
- ¡Nuevo análisis de seguridad de software de curso para el análisis y verificación del código de aprendizaje con SVF para la diversión y la experiencia!
- SVF ahora admite LLVM-16.0.0 con punteros opacos (contribuido por Xiao Cheng).
- Modernizar el CMake de SVF (contribuido por Johannes).
- SVF ahora admite LLVM-3.0.0 (¡gracias a Shengjie Xu por su ayuda!).
- La agrupación de objetos publicada en nuestro artículo de Oopsla ya está disponible en SVF
- Los sets de puntos con el hash publicados en nuestro artículo SAS ya están disponibles en SVF
- ¿Aprendizaje o análisis de software de enseñanza? ¡Mira la enseñanza SVF!
- SVF ahora admite LLVM-12.0.0 (¡gracias a Xiyu Yang por su ayuda!).
- VSFS publicado en nuestro documento CGO ya está disponible en SVF
- Typeclone publicado en nuestro documento Ecoop ya está disponible en SVF
- SVF ahora usa un solo script para su compilación. Solo escriba
source ./build.sh en su terminal, ¡eso es todo! - ¡SVF ahora admite LLVM-10.0.0!
- Agradecemos a Bsauce por escribir un manual de usuario de SVF (Link1 y Link2) en chino
- SVF ahora apoya a LLVM-9.0.0 (¡gracias a Byoungoung Lee por su ayuda!).
- SVF ahora admite un conjunto de análisis de puntero sensibles al campo.
- Utilice SVF como una lib externa para su propio proyecto (aportado por Hongxu Chen).
- SVF ahora admite LLVM-7.0.0.
- SVF ahora es compatible con Docker. ¡Prueba SVF en Docker!
- SVF ahora admite LLVM-6.0.0 (contribuido por Jack Anthony).
- SVF ahora admite LLVM-4.0.0 (contribuido por Jared Carlson. ¡Gracias a Jared y Will por sus discusiones en profundidad sobre la actualización de SVF!)
- SVF ahora admite análisis para programas C ++.
Documentación
SVF es una herramienta de análisis de flujo de valor estático para idiomas basados en LLVM. SVF (CC'16) es capaz de realizar
- AE ( ejecución de resumen ): ejecución de dominio cruzado (ICSE'24), análisis typestate (fse'24);
- WPA ( análisis de programa completo ): análisis sensible al campo (SAS'19), sensible al flujo (CGO'21, OOPSLA'21);
- DDA ( análisis impulsado por la demanda ): análisis de puntos hasta el contexto sensible al flujo (FSE'16, TSE'18);
- MSSA ( construcción de formulario SSA de memoria ): regiones de memoria, efectos secundarios, formulario SSA (JSS'18);
- Saber ( comprobación de errores de memoria ): filtraciones de memoria y dobles (ISSTA'12, TSE'14, ICSE'18);
- MTA ( análisis de programas multiproceso ): flujos de valor para programas multiproceso (CGO'16);
- CFL ( análisis de capacidad de contexto ): solucionador CFL estándar, gráfico y gramática (OOPSLA'22, PLDI'23);
- SVFIR y MemoryModel ( SVFIR ): SVFIR, Abstracción de memoria y estructura de datos de puntos (SAS'21);
- Gráficos: Generación de una variedad de gráficos , incluyendo gráfico de llamadas, ICFG, gráfico de jerarquía de clases, gráfico de restricciones, gráfico de flujo de valor para análisis estáticos e incrustación de código (OOPSLA'20, TOSEM'21)
Lanzamos el código fuente de SVF con la esperanza de beneficiar a la comunidad de código abierto. Se le solicita amablemente que reconozca el uso de la herramienta refiriéndose o citando publicaciones relevantes anteriores.
El documento Doxygen de SVF está disponible aquí.
| Sobre SVF | Guía de configuración | Guía del usuario | Guía de desarrolladores |
|---|
 |  |  |  |
| Presentación de SVF: lo que hace y cómo lo diseñamos | Una guía de configuración paso a paso para construir SVF | Opciones de línea de comandos para ejecutar SVF, obtener salidas de análisis y probar SVF con un ejemplo o Ptaben | Documentación técnica detallada y cómo escribir sus propios análisis en SVF o usar SVF como LIB para su herramienta, y el curso en SVF |