ChatPaper.aiChatPaper

LocAgent: Граф-ориентированные агенты на основе больших языковых моделей для локализации кода

LocAgent: Graph-Guided LLM Agents for Code Localization

March 12, 2025
Авторы: Zhaoling Chen, Xiangru Tang, Gangda Deng, Fang Wu, Jialong Wu, Zhiwei Jiang, Viktor Prasanna, Arman Cohan, Xingyao Wang
cs.AI

Аннотация

Локализация кода — точное определение места в кодовой базе, где необходимо внести изменения, — является фундаментальной, но сложной задачей в поддержке программного обеспечения. Существующие подходы сталкиваются с трудностями при эффективной навигации по сложным кодовым базам для выявления соответствующих разделов кода. Основная проблема заключается в установлении связи между описаниями проблем на естественном языке и соответствующими элементами кода, что часто требует рассуждений на основе иерархических структур и множественных зависимостей. Мы представляем LocAgent, фреймворк, который решает задачу локализации кода с помощью графового представления. Путем преобразования кодовых баз в направленные гетерогенные графы LocAgent создает легковесное представление, которое захватывает структуры кода (файлы, классы, функции) и их зависимости (импорты, вызовы, наследование), что позволяет агентам на основе больших языковых моделей (LLM) эффективно искать и находить соответствующие сущности с помощью мощного многошагового рассуждения. Результаты экспериментов на реальных бенчмарках демонстрируют значительное повышение точности локализации кода. В частности, наш метод с доработанной моделью Qwen-2.5-Coder-Instruct-32B достигает сопоставимых результатов с современными проприетарными моделями при значительно меньших затратах (примерно на 86% меньше), достигая точности до 92,7% на уровне файлов, а также повышая успешность решения задач на GitHub на 12% при нескольких попытках (Pass@10). Наш код доступен по адресу https://github.com/gersteinlab/LocAgent.
English
Code localization--identifying precisely where in a codebase changes need to be made--is a fundamental yet challenging task in software maintenance. Existing approaches struggle to efficiently navigate complex codebases when identifying relevant code sections. The challenge lies in bridging natural language problem descriptions with the appropriate code elements, often requiring reasoning across hierarchical structures and multiple dependencies. We introduce LocAgent, a framework that addresses code localization through graph-based representation. By parsing codebases into directed heterogeneous graphs, LocAgent creates a lightweight representation that captures code structures (files, classes, functions) and their dependencies (imports, invocations, inheritance), enabling LLM agents to effectively search and locate relevant entities through powerful multi-hop reasoning. Experimental results on real-world benchmarks demonstrate that our approach significantly enhances accuracy in code localization. Notably, our method with the fine-tuned Qwen-2.5-Coder-Instruct-32B model achieves comparable results to SOTA proprietary models at greatly reduced cost (approximately 86% reduction), reaching up to 92.7% accuracy on file-level localization while improving downstream GitHub issue resolution success rates by 12% for multiple attempts (Pass@10). Our code is available at https://github.com/gersteinlab/LocAgent.

Summary

AI-Generated Summary

PDF102March 13, 2025