ChatPaper.aiChatPaper

Riparare 7.400 Bug per 1$: Riparazione Economica dei Programmi nei Punti di Crash

Fixing 7,400 Bugs for 1$: Cheap Crash-Site Program Repair

May 19, 2025
Autori: Han Zheng, Ilia Shumailov, Tianqi Fan, Aiden Hall, Mathias Payer
cs.AI

Abstract

Il rapido progresso delle tecniche di individuazione dei bug ha portato alla scoperta di un numero di vulnerabilità superiore a quello che gli sviluppatori possono ragionevolmente correggere, creando un’urgente necessità di metodi efficaci di Riparazione Automatica dei Programmi (Automated Program Repair, APR). Tuttavia, la complessità dei bug moderni rende spesso difficile e inaffidabile un’analisi precisa della causa principale. Per affrontare questa sfida, proponiamo la riparazione al punto di crash per semplificare il compito di riparazione, mitigando comunque il rischio di sfruttamento. Inoltre, introduciamo un approccio di generazione di patch guidato da template che riduce significativamente il costo in token dei Modelli Linguistici di Grande Dimensione (Large Language Models, LLMs) mantenendo sia l’efficienza che l’efficacia. Implementiamo il nostro sistema prototipo, WILLIAMT, e lo valutiamo rispetto agli strumenti APR più avanzati. I nostri risultati mostrano che, combinato con l’agente di punta CodeRover-S, WILLIAMT riduce il costo in token del 45,9% e aumenta il tasso di correzione dei bug al 73,5% (+29,6%) su ARVO, un benchmark di vulnerabilità del software open source di riferimento. Inoltre, dimostriamo che WILLIAMT può funzionare efficacemente anche senza accesso a LLMs di frontiera: persino un modello locale eseguito su un Mac M4 Mini raggiunge un tasso di riparazione ragionevole. Questi risultati evidenziano l’ampia applicabilità e scalabilità di WILLIAMT.
English
The rapid advancement of bug-finding techniques has led to the discovery of more vulnerabilities than developers can reasonably fix, creating an urgent need for effective Automated Program Repair (APR) methods. However, the complexity of modern bugs often makes precise root cause analysis difficult and unreliable. To address this challenge, we propose crash-site repair to simplify the repair task while still mitigating the risk of exploitation. In addition, we introduce a template-guided patch generation approach that significantly reduces the token cost of Large Language Models (LLMs) while maintaining both efficiency and effectiveness. We implement our prototype system, WILLIAMT, and evaluate it against state-of-the-art APR tools. Our results show that, when combined with the top-performing agent CodeRover-S, WILLIAMT reduces token cost by 45.9% and increases the bug-fixing rate to 73.5% (+29.6%) on ARVO, a ground-truth open source software vulnerabilities benchmark. Furthermore, we demonstrate that WILLIAMT can function effectively even without access to frontier LLMs: even a local model running on a Mac M4 Mini achieves a reasonable repair rate. These findings highlight the broad applicability and scalability of WILLIAMT.
PDF62May 21, 2025