ChatPaper.aiChatPaper

Исправление 7400 ошибок за 1 доллар: дешевый ремонт программ на месте сбоя

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

May 19, 2025
Авторы: Han Zheng, Ilia Shumailov, Tianqi Fan, Aiden Hall, Mathias Payer
cs.AI

Аннотация

Быстрое развитие методов поиска ошибок привело к обнаружению большего количества уязвимостей, чем разработчики могут разумно исправить, что создает острую необходимость в эффективных методах автоматизированного исправления программ (Automated Program Repair, APR). Однако сложность современных ошибок часто делает точный анализ первопричин трудным и ненадежным. Для решения этой проблемы мы предлагаем подход к исправлению на месте сбоя, который упрощает задачу исправления, одновременно снижая риск эксплуатации уязвимостей. Кроме того, мы представляем подход к генерации исправлений на основе шаблонов, который значительно снижает затраты на токены для крупных языковых моделей (Large Language Models, LLMs), сохраняя при этом эффективность и производительность. Мы реализовали наш прототип системы WILLIAMT и провели ее оценку в сравнении с современными инструментами APR. Наши результаты показывают, что в сочетании с лучшим агентом CodeRover-S WILLIAMT снижает затраты на токены на 45,9% и увеличивает процент исправления ошибок до 73,5% (+29,6%) на бенчмарке ARVO, который представляет собой эталонный набор уязвимостей в открытом исходном коде. Кроме того, мы демонстрируем, что WILLIAMT может эффективно функционировать даже без доступа к передовым LLMs: даже локальная модель, работающая на Mac M4 Mini, достигает приемлемого уровня исправления. Эти результаты подчеркивают широкую применимость и масштабируемость 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

PDF51May 21, 2025