benchmark

Publicamos el benchmark entero, incluso donde perdemos.

Una herramienta de seguridad que dispara demasiadas alertas falsas termina ignorada por el equipo. Aquí está codafort medida contra CodeQL y Semgrep en nuestras pruebas de benchmark, con las salvedades junto a los números.

Java: las tres herramientas en la misma corrida

Nuestras pruebas de benchmark, con respuesta conocida para cada caso, medidas el 2026-09-28. Precisión: cuántas alertas eran reales. Recall: cuántas fallas reales se encontraron.

herramientaprecisiónrecallfalsos positivos
codafort1.0000.9720
CodeQL 2.270.7210.972531
Semgrep OSS 1.1770.6930.882552
0 vs 531
falsos positivos contra CodeQL, encontrando las mismas fallas reales
0.955
de precisión en Python, con recall 0.947; CodeQL quedó en 0.432 y Semgrep en 0.828
8 s
para analizar las pruebas de Java, contra 15 a 20 s de Semgrep y 99 s de CodeQL
⚠ La salvedad va antes del número. Ajustamos codafort mirando las pruebas de Java; CodeQL y Semgrep no. Trata el resultado como techo, no como garantía: en código real, todo analizador tiene algún falso positivo. En 349 casos de 16 lenguajes que ningún ajuste pudo usar, la precisión es 1.000 y el recall 0.762. En las pruebas de los otros lenguajes, abajo, el orden se mantiene y las distancias se reducen.

Por lenguaje, contra CodeQL y Semgrep

Precisión · recall en nuestras pruebas de benchmark de cada lenguaje, en la misma corrida (2026-09-28). De Semgrep, su mejor configuración.

lenguajecodafortCodeQLSemgrep
Java1.000 · 0.9720.721 · 0.9720.693 · 0.882
Python0.955 · 0.9470.432 · 0.2520.828 · 0.159
JavaScript0.943 · 0.8110.877 · 0.7790.756 · 0.239
TypeScript0.931 · 0.900—¹0.714 · 0.167
C#1.000 · 0.941—²0 hits
Go0.919 · 0.358—²0.852 · 0.164
Ruby1.000 · 0.1920.707 · 0.0820.755 · 0.105
Rust1.000 · 0.920—¹1.000 · 0.080
Swift1.000 · 0.939—¹0 hits
PHP1.000 · 0.867n/a1.000 · 0.333
C0.968 · 0.3950.667 · 0.0260 hits
C++0.800 · 0.0980 hits0 hits

¹ Prueba escrita por la propia CodeQL: no la medimos en ella. ² No medido en esta corrida. n/a: CodeQL no analiza PHP. En el NIST Juliet completo para Java, codafort tiene precisión 0,88 y recall 0,81 (2026-10-02).

Donde todavía perdemos

En precisión, frente a CodeQL, en TypeScript de CVEs reales (720 casos): 0.831 de ella contra 0.796 nuestra, con recall parecido.

En el recall en Go, Ruby, Rust, C y C++. Seguimos adelante en esas pruebas, pero lejos de 0.90, y el número es bajo para todas las herramientas medidas.

Todas las herramientas se midieron en la misma corrida, con el mismo criterio, en nuestras pruebas de benchmark.

Precisión medida, publicada y comparada.

Prelanzamiento: codafort aún no está disponible para instalar. Únete a la lista de espera →