benchmark

Publicamos o benchmark inteiro, inclusive onde perdemos.

Ferramenta de segurança que dispara alerta falso demais é ignorada pelo time. Aqui está a codafort medida contra a CodeQL e o Semgrep nos nossos testes de benchmark, com as ressalvas ao lado dos números.

Java: as três ferramentas na mesma rodada

Nossos testes de benchmark, com resposta conhecida para cada caso, medidos em 2026-09-28. Precisão: dos alertas, quantos eram reais. Recall: das falhas reais, quantas foram achadas.

ferramentaprecisãorecallfalsos-positivos
codafort1.0000.9720
CodeQL 2.270.7210.972531
Semgrep OSS 1.1770.6930.882552
0 vs 531
falsos-positivos contra a CodeQL, achando as mesmas falhas reais
0.955
de precisão em Python, com recall 0.947; a CodeQL ficou em 0.432 e o Semgrep em 0.828
8 s
para analisar os testes de Java, contra 15 a 20 s do Semgrep e 99 s da CodeQL
⚠ A ressalva vem antes do número. Ajustamos a codafort olhando os testes de Java; a CodeQL e o Semgrep não. Trate o resultado como teto, e não como garantia: em código real, todo analisador tem algum falso-positivo. Em 349 casos de 16 linguagens que nenhum ajuste pôde usar, a precisão é 1.000 e o recall 0.762. Nos testes das outras linguagens, abaixo, a ordem se mantém e as distâncias diminuem.

Por linguagem, contra a CodeQL e o Semgrep

Precisão · recall nos nossos testes de benchmark de cada linguagem, na mesma rodada (2026-09-28). Do Semgrep, a melhor configuração para ele.

linguagemcodafortCodeQLSemgrep
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

¹ Teste escrito pela própria CodeQL: não a medimos nele. ² Não medido nesta rodada. n/a: a CodeQL não analisa PHP. No NIST Juliet para Java completo, a codafort tem precisão 0,88 e recall 0,81 (2026-10-02).

Onde ainda perdemos

Em precisão, para a CodeQL, em TypeScript de CVEs reais (720 casos): 0.831 dela contra 0.796 nossa, com recall parecido.

No recall em Go, Ruby, Rust, C e C++. Ainda estamos na frente nesses testes, mas longe de 0.90, e o número é baixo para todas as ferramentas medidas.

Todas as ferramentas foram medidas na mesma rodada, pelo mesmo critério, nos nossos testes de benchmark.

Precisão medida, publicada e comparada.

Pré-lançamento: a codafort ainda não está disponível para instalar. Entre na lista de espera →