diffox
Blog

diffox ultra al primo posto tra 23 strumenti di code review con IA

Abbiamo eseguito noi il benchmark open source di Martian. diffox ultra ha individuato 119 dei 158 bug reali ed è arrivato primo. Ogni review è pubblica.

CondividiXLinkedIn

In sintesi. Il 7 ottobre 2026 abbiamo eseguito noi stessi il benchmark open source di code review di Martian. Comprende 50 pull request di Sentry, Grafana, Cal.com, Discourse e Keycloak e 158 bug noti, con Claude Opus 4.5 come giudice. Con sensibilità alta, diffox ultra ha ottenuto 66,5 in F2 ed è arrivato primo tra 23 strumenti di code review con IA. Ha individuato 119 dei 158 bug (75%); nessuno strumento ne ha individuati di più. Tutte le 100 review sono pull request pubbliche, valutate dal codice stesso di Martian: github.com/diffox-bench/code-review-benchmark.

  • Il concorrente più vicino. Qodo Extended, con 65,1.
  • Bug critici. diffox ha individuato 11 dei 12 bug che Martian classifica come critici.
  • Scegli tu quali rilievi pubblicare. Le nuove installazioni partono da «Critico e avvisi»: vengono pubblicati i rilievi critici e gli avvisi, i suggerimenti no. Con una sola modifica nella console passi a «Tutto» per ricevere anche i suggerimenti, o a «Solo critico» per avere meno commenti.

diffox ultra ottiene il punteggio più alto e individua più bug di tutti

1°su 23 strumenti
66,5punteggio F2
119bug reali individuati
100review pubbliche

Abbiamo valutato i due prodotti di diffox esattamente come Martian valuta i 21 strumenti della sua classifica pubblicata. diffox ultra è primo con 66,5 punti; diffox è quinto tra gli strumenti, con 60,9. Ed è sempre diffox ultra a individuare più bug (119), seguito da diffox (106) e GitHub Copilot (105).

Classifica degli strumenti per punteggio F2, con bug individuati e falsi allarmi
PosizioneStrumentoF2Bug individuatiFalsi allarmi
1diffox ultra · Sensibilità alta66,5119144
2Qodo Extended65,110250
3Cubic v264,910465
4Augment64,010370
5diffox ultra · Sensibilità media162,69851
6diffox · Sensibilità alta60,9106132
7Qodo v260,69879
8GitHub Copilot58,0105168
9diffox · Sensibilità media157,48955
10Gitar53,697176
11Gemini52,887105
12GitLab Duo Code Review52,78372
13Sourcery51,587125
14Greptile v451,28178
15CodeRabbit51,194194
16Macroscope50,87749
17diffox ultra · Sensibilità bassa148,87019
18Cursor Bugbot48,67456
19Claude Code (CLI)47,77688
20Devin44,86529
21Kodus41,56142
22diffox · Sensibilità bassa141,55919
23CodeAnt40,96597
24Baz40,55937
25Claude Code38,96079
26KG18,42521
27Graphite9,3120

1 Anche le impostazioni sono ordinate per F2. «23 strumenti» conta solo gli strumenti: per questo diffox è quinto tra gli strumenti, ma sesto in questa lista. A parità di punteggio mostrato, il risultato pubblico viene prima. Le righe con sensibilità media e bassa vengono da una nostra misurazione interna sulle stesse 50 pull request e 158 bug: ognuna è la media arrotondata di 5 esecuzioni per diffox ultra e 2 per diffox. Le righe con sensibilità alta vengono dall’esecuzione pubblica. Alta, Media e Bassa erano le impostazioni di sensibilità di diffox all’epoca; ora scegli quali rilievi pubblicare in base alla loro classe.

diffox ultra ha individuato più bug di GitHub Copilot e CodeRabbit, e con meno falsi allarmi. Con sensibilità bassa1 ha individuato 70 bug con soli 19 falsi allarmi; nessuno strumento con meno di 30 falsi allarmi ne ha individuati più di 65. I risultati degli altri strumenti sono quelli di Martian, così come erano pubblicati su codereview.withmartian.com il 7 ottobre 2026.

Come funziona il Martian Code Review Benchmark?

Il Martian Code Review Benchmark (github.com/withmartian/code-review-benchmark) è un benchmark open source che mette alla prova gli strumenti di code review con IA in condizioni identiche. È composto da 50 pull request di cinque progetti open source affermati: Sentry, Grafana, Cal.com, Discourse e Keycloak. In queste pull request sono stati segnalati in anticipo, a mano, 173 problemi noti. Il punteggio predefinito della classifica ne conta 158, e sono questi i bug che contiamo in questo articolo.

Ogni strumento esamina le pull request a modo suo. Poi un modello giudice, Claude Opus 4.5, confronta ogni commento con i bug noti. Un commento che corrisponde a un bug conta come individuazione; se non corrisponde a nessuno, è un falso allarme. La classifica ordina gli strumenti per F2, che dà più peso alle individuazioni che ai falsi allarmi, perché un bug che arriva in produzione costa molto più di un commento che qualcuno legge e scarta.

Verificalo tu stesso

Dire di essere primi in un benchmark è facile; dimostrarlo no. Per questo ogni parte dell’esecuzione con sensibilità alta è pubblica.

  • Cento review, cento pull request pubbliche. Abbiamo copiato ciascuna delle 50 pull request del benchmark in un repository pubblico a sé, una volta per prodotto: 100 in tutto. L’app diffox in produzione ha esaminato ogni copia con sensibilità alta, proprio come esaminava la pull request di un cliente. Cambia solo l’impaginazione del commento (vedi le domande più sotto). L’elenco delle 100 review
  • Valutato dal codice stesso di Martian. Abbiamo eseguito i passaggi di valutazione senza modificarli. Sugli stessi file, lo script della dashboard di Martian riproduce esattamente i numeri pubblicati di 20 degli altri 21 strumenti.
  • Riproduci la tabella sulla tua macchina:
git clone https://github.com/diffox-bench/code-review-benchmark && cd code-review-benchmark/offline
uv sync --frozen
uv run python analysis/benchmark_dashboard.py          # lo script della dashboard di Martian, con le nostre due righe
git diff --diff-algorithm=histogram e616e849 -- results  # solo aggiunte: nessuna riga di un altro strumento cambia

Chi individua i bug più gravi?

Non tutti i bug pesano allo stesso modo. La tabella qui sotto confronta i due prodotti di diffox con i quattro concorrenti che hanno individuato più bug. Sui bug critici è diffox a individuarne di più: 11 su 12. Sui bug di gravità alta, diffox ultra è nettamente in testa: 46 su 54.

Bug individuati per gravità: diffox e i quattro concorrenti che ne hanno individuati di più
Gravitàdiffox ultradiffoxGitHub CopilotCubic v2AugmentQodo Extended
Critica (12 bug)101191089
Alta (54 bug)463738384140
Media (59 bug)444042373937
Bassa (33 bug)191816191516
Totale (158 bug)119106105104103102

Chi è in testa in ogni progetto?

In tre dei cinque progetti è un prodotto diffox ad aver individuato più bug: diffox ultra su Cal.com e Keycloak, diffox su Discourse. Cubic v2 è in testa su Grafana e Sentry; su Sentry, diffox ultra è dietro di un solo bug. Ogni progetto conta 10 pull request.

Bug individuati per progetto: diffox e i quattro concorrenti che ne hanno individuati di più
Progettodiffox ultradiffoxGitHub CopilotCubic v2AugmentQodo Extended
Cal.com (37 bug)322529192925
Discourse (38 bug)273127222222
Grafana (25 bug)171715241717
Keycloak (25 bug)191216141317
Sentry (33 bug)242118252221

Quattro bug sfuggiti alla maggior parte degli strumenti

Le tabelle danno un numero al distacco; i quattro bug qui sotto mostrano com’è fatto. Il repository di Martian contiene i risultati bug per bug di altri 20 strumenti in classifica, e ciascuno di questi quattro bug è stato individuato al massimo da cinque di loro. diffox ultra li ha individuati tutti e quattro. Ogni scheda porta al commento che diffox ha pubblicato sulla pull request.

Discourse · sicurezza · gravità media

Il nuovo codice invia l’intestazione X-Frame-Options: ALLOWALL. I browser non riconoscono quel valore, quindi la protezione dal clickjacking è di fatto disattivata e qualsiasi sito può incorporare la pagina in un frame. diffox e diffox ultra l’hanno individuato entrambi. Solo 2 dei 20 altri strumenti lo hanno individuato.

Discourse: Vedi il commento →

Sentry · gravità alta

Il controllo che dovrebbe terminare i processi bloccati non scatta mai. I processi sono creati con il contesto spawn e quindi non sono istanze di multiprocessing.Process; il controllo con isinstance restituisce sempre falso e i processi bloccati continuano a girare. Solo 4 dei 20 altri strumenti lo hanno individuato.

Sentry: Vedi il commento →

Grafana · gravità alta

La funzione che riempie la cache vi scrive il risultato anche quando la lettura fallisce, sovrascrivendo un valore valido con nil. Solo 3 dei 20 altri strumenti lo hanno individuato.

Grafana: Vedi il commento →

Keycloak · gravità alta

Il controllo dei permessi cerca la risorsa con il proprietario sbagliato: le risorse vengono create con l’ID del client ma cercate con quello del server. La ricerca non trova mai la risorsa, quindi il controllo risponde sempre «no». Solo 5 dei 20 altri strumenti lo hanno individuato.

Keycloak: Vedi il commento →

Più bug individuati o meno falsi allarmi?

Ogni strumento di code review deve fare i conti con lo stesso compromesso: più bug individua, più falsi allarmi genera. Gli altri strumenti in classifica compaiono una sola volta, con l’impostazione con cui sono stati valutati. I due prodotti di diffox compaiono tre volte ciascuno, perché abbiamo misurato ogni livello di sensibilità sulle stesse 50 pull request.

Bug reali individuati e falsi allarmi

Ogni linea di diffox mostra la sensibilità alta, media e bassa; gli altri strumenti sono singoli punti.

Grafico dei bug reali individuati rispetto ai falsi allarmi. Con sensibilità alta diffox ultra ha individuato 119 bug con 144 falsi allarmi, sopra il miglior punteggio F2 della classifica; con sensibilità media e bassa ha generato meno falsi allarmi. diffox ha individuato 106 bug con sensibilità alta. Gli altri 21 strumenti compaiono come punti singoli.
Sensibilità alta: la nostra esecuzione con il codice di valutazione pubblico di Martian, 7 ottobre 2026. Prove: github.com/diffox-bench/code-review-benchmark. Sensibilità media e bassa: la nostra misurazione interna sulle stesse 50 pull request, media di 5 esecuzioni per diffox ultra e 2 per diffox. Altri strumenti: risultati pubblicati da Martian. 50 pull request, 158 bug noti, giudice Claude Opus 4.5.

Le impostazioni di allora stabilivano quanto diffox dovesse essere sicuro per pubblicare un rilievo. Alta ha individuato più bug, ed è con questa impostazione che è arrivato il primo posto. Media ha pubblicato meno commenti e ha comunque individuato la maggior parte dei bug reali: i commenti per pull request sono scesi da 5,4 a 2,9. Bassa ha pubblicato solo i rilievi di cui era più sicura: 1,7 commenti per pull request.

Commenti medi per pull request con sensibilità alta, media e bassa
Commenti medi per PRAltaMediaBassa
diffox ultra5,42,91,7
diffox4,72,91,6

Ora scegli tu quali rilievi pubblicare, in base alla loro classe. diffox assegna a ogni rilievo una classe: Critico, Avviso o Suggerimento. L’impostazione ha tre livelli: «Solo critico», «Critico e avvisi» e «Tutto». Le nuove installazioni partono da «Critico e avvisi». Il titolare dell’account o un amministratore dell’organizzazione può cambiare livello nella scheda Impostazioni della console di diffox; la modifica vale dalla review successiva. Nulla di ciò che l’impostazione trattiene va perso: resta 30 giorni nella tua pagina Rilievi, e da lì puoi pubblicare quello che vuoi.

Se preferisci non occuparti dell’impostazione, nella console imposta «Modalità di scelta» su «Automatica»: il livello cambia da solo tra «Tutto» e «Critico e avvisi», in base alle reazioni 👍 e 👎 che dai ai rilievi. E un rilievo che il tuo team ha respinto con un 👎 non viene più pubblicato nello stesso repository finché la sua riga non cambia.

Domande frequenti

Posso verificare questi risultati da solo?

Sì. Tutte le 100 review sono pull request pubbliche, e tutti i file dei risultati e i comandi sono su github.com/diffox-bench/code-review-benchmark. Se lì esegui lo script della dashboard di Martian, ottieni la tabella con le nostre due righe, e git diff mostra che nessun risultato di un altro strumento è cambiato.

Come scelgo quali rilievi pubblicare?

diffox assegna a ogni rilievo una classe: Critico, Avviso o Suggerimento. Sei tu a scegliere quali pubblicare. «Solo critico» pubblica solo i rilievi critici. «Critico e avvisi» pubblica anche gli avvisi, ma non i suggerimenti; ogni nuova installazione parte da questo livello. «Tutto» pubblica anche i suggerimenti. Puoi cambiare livello in qualsiasi momento nella scheda Impostazioni della console, e ciò che l’impostazione trattiene resta 30 giorni nella tua pagina Rilievi.

Che cos’è diffox ultra e come si usa?

diffox ultra legge ogni modifica con due modelli invece di uno e trova di più. Ogni installazione parte con diffox. Per far esaminare ogni pull request a diffox ultra, sceglilo in «Revisione con» nella scheda Impostazioni della console. Per provarlo su una sola pull request, scrivici il commento @diffoxai ultra review e diffox ultra la esaminerà di nuovo. Una review con diffox ultra costa di più; il prezzo di ogni review compare su una riga a sé nella tua console.

Che cos’è F2 e perché F2?

F2 è un punteggio che pesa un bug mancato più di un falso allarme. La classifica di Martian ordina gli strumenti in base a questo punteggio; per questo presentiamo i nostri risultati con la stessa misura.

Perché i commenti sulle copie sono diversi da quelli abituali di diffox?

Il codice di valutazione di Martian considera tutto ciò che un bot scrive su una pull request come un possibile rilievo, comprese le tabelle di riepilogo e l’elenco dei rilievi non pubblicati. Per questo sulle copie diffox ha scritto solo i rilievi che pubblica, in un unico commento essenziale. I rilievi sono gli stessi; cambia solo la presentazione.

Come si installa diffox?

diffox si installa da GitHub con un clic, senza nulla da configurare: niente chiavi né file di configurazione, e una sola installazione copre tutti i repository. Da quel momento ogni pull request che apri viene esaminata senza che tu debba chiederlo: prima il verdetto, poi ogni rilievo sotto la riga esatta a cui si riferisce.

Su quali piattaforme funziona diffox?

diffox è un’app GitHub e funziona sui repository pubblici e privati di GitHub. Ogni review arriva nella lingua in cui legge il tuo team: inglese, turco, tedesco, francese, spagnolo o italiano.

Il seguito: i prezzi

Nel secondo articolo confrontiamo i prezzi sulle stesse 50 pull request: quanto costa ogni strumento per review e cosa ottieni in cambio. I nostri prezzi attuali sono nella pagina dei prezzi.