El analizador estático de LLVM integra el solucionador Z3: Eliminando falsos positivos

2025-02-23

El analizador estático de LLVM ahora admite el solucionador de restricciones Z3, mejorando significativamente su capacidad para filtrar falsos positivos. El artículo muestra dos métodos para usar Z3: como un solucionador externo y para refutar falsos positivos. El primer método, aunque elimina completamente los falsos positivos, es significativamente más lento (aproximadamente 15 veces). El segundo método, que usa Z3 para la refutación, es más rápido y eficiente para reducir los falsos positivos. Los experimentos muestran que habilitar Z3 permite que el analizador estático de LLVM identifique y evite con precisión los falsos positivos causados por operaciones bit a bit, lo que resulta en un análisis más confiable.

Desarrollo análisis estático