ChatPaper.aiChatPaper

LocAgent: Agentes de LLM Orientados por Grafos para Localização de Código

LocAgent: Graph-Guided LLM Agents for Code Localization

March 12, 2025
Autores: Zhaoling Chen, Xiangru Tang, Gangda Deng, Fang Wu, Jialong Wu, Zhiwei Jiang, Viktor Prasanna, Arman Cohan, Xingyao Wang
cs.AI

Resumo

A localização de código -- identificar precisamente onde em uma base de código as alterações precisam ser feitas -- é uma tarefa fundamental, porém desafiadora, na manutenção de software. As abordagens existentes lutam para navegar eficientemente por bases de código complexas ao identificar seções de código relevantes. O desafio reside em fazer a ponte entre descrições de problemas em linguagem natural e os elementos de código apropriados, frequentemente exigindo raciocínio através de estruturas hierárquicas e múltiplas dependências. Apresentamos o LocAgent, um framework que aborda a localização de código por meio de representação baseada em grafos. Ao analisar bases de código em grafos heterogêneos direcionados, o LocAgent cria uma representação leve que captura estruturas de código (arquivos, classes, funções) e suas dependências (importações, invocações, herança), permitindo que agentes de LLM pesquisem e localizem entidades relevantes de forma eficaz através de poderoso raciocínio multi-hop. Resultados experimentais em benchmarks do mundo real demonstram que nossa abordagem melhora significativamente a precisão na localização de código. Notavelmente, nosso método com o modelo ajustado Qwen-2.5-Coder-Instruct-32B alcança resultados comparáveis aos modelos proprietários de última geração (SOTA) a um custo drasticamente reduzido (aproximadamente 86% de redução), atingindo até 92,7% de precisão na localização em nível de arquivo, enquanto melhora as taxas de sucesso na resolução de problemas do GitHub em 12% para múltiplas tentativas (Pass@10). Nosso código está disponível em 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