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.
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
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).
| Posizione | Strumento | F2 | Bug individuati | Falsi allarmi |
|---|---|---|---|---|
| 1 | diffox ultra · Sensibilità alta | 66,5 | 119 | 144 |
| 2 | Qodo Extended | 65,1 | 102 | 50 |
| 3 | Cubic v2 | 64,9 | 104 | 65 |
| 4 | Augment | 64,0 | 103 | 70 |
| 5 | diffox ultra · Sensibilità media1 | 62,6 | 98 | 51 |
| 6 | diffox · Sensibilità alta | 60,9 | 106 | 132 |
| 7 | Qodo v2 | 60,6 | 98 | 79 |
| 8 | GitHub Copilot | 58,0 | 105 | 168 |
| 9 | diffox · Sensibilità media1 | 57,4 | 89 | 55 |
| 10 | Gitar | 53,6 | 97 | 176 |
| 11 | Gemini | 52,8 | 87 | 105 |
| 12 | GitLab Duo Code Review | 52,7 | 83 | 72 |
| 13 | Sourcery | 51,5 | 87 | 125 |
| 14 | Greptile v4 | 51,2 | 81 | 78 |
| 15 | CodeRabbit | 51,1 | 94 | 194 |
| 16 | Macroscope | 50,8 | 77 | 49 |
| 17 | diffox ultra · Sensibilità bassa1 | 48,8 | 70 | 19 |
| 18 | Cursor Bugbot | 48,6 | 74 | 56 |
| 19 | Claude Code (CLI) | 47,7 | 76 | 88 |
| 20 | Devin | 44,8 | 65 | 29 |
| 21 | Kodus | 41,5 | 61 | 42 |
| 22 | diffox · Sensibilità bassa1 | 41,5 | 59 | 19 |
| 23 | CodeAnt | 40,9 | 65 | 97 |
| 24 | Baz | 40,5 | 59 | 37 |
| 25 | Claude Code | 38,9 | 60 | 79 |
| 26 | KG | 18,4 | 25 | 21 |
| 27 | Graphite | 9,3 | 12 | 0 |
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 cambiaChi 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.
| Gravità | diffox ultra | diffox | GitHub Copilot | Cubic v2 | Augment | Qodo Extended |
|---|---|---|---|---|---|---|
| Critica (12 bug) | 10 | 11 | 9 | 10 | 8 | 9 |
| Alta (54 bug) | 46 | 37 | 38 | 38 | 41 | 40 |
| Media (59 bug) | 44 | 40 | 42 | 37 | 39 | 37 |
| Bassa (33 bug) | 19 | 18 | 16 | 19 | 15 | 16 |
| Totale (158 bug) | 119 | 106 | 105 | 104 | 103 | 102 |
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.
| Progetto | diffox ultra | diffox | GitHub Copilot | Cubic v2 | Augment | Qodo Extended |
|---|---|---|---|---|---|---|
| Cal.com (37 bug) | 32 | 25 | 29 | 19 | 29 | 25 |
| Discourse (38 bug) | 27 | 31 | 27 | 22 | 22 | 22 |
| Grafana (25 bug) | 17 | 17 | 15 | 24 | 17 | 17 |
| Keycloak (25 bug) | 19 | 12 | 16 | 14 | 13 | 17 |
| Sentry (33 bug) | 24 | 21 | 18 | 25 | 22 | 21 |
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.
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.
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.
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.
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 PR | Alta | Media | Bassa |
|---|---|---|---|
| diffox ultra | 5,4 | 2,9 | 1,7 |
| diffox | 4,7 | 2,9 | 1,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.