7.400 Bugs für 1$ behoben: Kostengünstige Programmreparatur bei Absturzstellen
Fixing 7,400 Bugs for 1$: Cheap Crash-Site Program Repair
May 19, 2025
Autoren: Han Zheng, Ilia Shumailov, Tianqi Fan, Aiden Hall, Mathias Payer
cs.AI
Zusammenfassung
Die rasante Weiterentwicklung von Techniken zur Fehlererkennung hat dazu geführt, dass mehr Schwachstellen entdeckt werden, als Entwickler vernünftigerweise beheben können, was einen dringenden Bedarf an effektiven Methoden zur automatisierten Programmreparatur (Automated Program Repair, APR) schafft. Die Komplexität moderner Fehler erschwert jedoch oft eine präzise und zuverlässige Ursachenanalyse. Um dieser Herausforderung zu begegnen, schlagen wir die Reparatur am Absturzort vor, um die Reparaturaufgabe zu vereinfachen und gleichzeitig das Risiko einer Ausnutzung zu mindern. Zusätzlich führen wir einen template-gesteuerten Ansatz zur Patch-Generierung ein, der die Token-Kosten von Large Language Models (LLMs) erheblich reduziert, während Effizienz und Wirksamkeit erhalten bleiben.
Wir implementieren unser Prototyp-System, WILLIAMT, und evaluieren es im Vergleich zu modernsten APR-Tools. Unsere Ergebnisse zeigen, dass WILLIAMT in Kombination mit dem leistungsstärksten Agenten CodeRover-S die Token-Kosten um 45,9 % reduziert und die Fehlerbehebungsrate auf ARVO, einem Benchmark für echte Open-Source-Software-Schwachstellen, auf 73,5 % (+29,6 %) erhöht. Darüber hinaus demonstrieren wir, dass WILLIAMT auch ohne Zugriff auf führende LLMs effektiv funktionieren kann: Selbst ein lokales Modell, das auf einem Mac M4 Mini läuft, erreicht eine angemessene Reparaturrate. Diese Erkenntnisse unterstreichen die breite Anwendbarkeit und Skalierbarkeit von 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.Summary
AI-Generated Summary