Un test basato sui bug rivela i limiti della code review automatica
In parole semplici
CRBugBench verifica se gli agenti di revisione del codice riescono a trovare bug che le persone hanno poi confermato e corretto. Invece di controllare se i commenti dell’agente assomigliano a quelli delle persone, gli fornisce la modifica originale e il contesto del repository senza dirgli che è presente un bug.
Nelle attività GitHub con bug individuati dalle persone prima dell’integrazione della modifica, claude-opus-5 ha incluso il bug noto tra i primi cinque risultati nel 79.6% dei casi. La prova misura il rilevamento dei bug, non ogni aspetto di una buona revisione.
La ricerca
Se i commenti delle revisioni umane possono non segnalare bug reali, come possono gli sviluppatori capire se i revisori automatizzati recuperano difetti che le persone hanno effettivamente confermato e corretto?
Una prova utile deve verificare il difetto stesso e fornire agli agenti il repository e la modifica che avrebbero dovuto revisionare.
CRBugBench collega bug confermati alle modifiche che li hanno introdotti e misura se gli agenti di revisione li recuperano nelle attività basate su repository.
Per ogni attività, un agente esamina una copia del repository e la pull request che ha introdotto un bug noto, senza sapere che il bug sia presente.
Tre valutatori basati su modelli linguistici stabiliscono se i risultati corrispondono al bug; i ricercatori calcolano la quota di attività in cui compare tra i primi cinque.
Nelle attività GitHub, claude-opus-5 ha recuperato più spesso i bug individuati prima dell’integrazione che quelli scoperti dopo: 79.6% contro 64.2% delle attività. I risultati mostrano un recupero elevato ma incompleto, con prestazioni diverse tra i due gruppi.
Questi risultati misurano il recupero di bug noti in attività selezionate tratte da repository, non l’utilità complessiva della revisione né le prestazioni su tutti i progetti software.
Le associazioni corrette per altri fattori descrivono schemi nei dati: non dimostrano che la visibilità del bug, da sola, causi differenze nel rilevamento.
Analisi
Dettagli
- Licenza
- CC BY 4.0