ChatPaper.aiChatPaper

LocAgent: Agentes de LLM Guiados por Grafos para la Localización 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

Resumen

La localización de código—identificar con precisión dónde en una base de código se deben realizar cambios—es una tarea fundamental pero desafiante en el mantenimiento de software. Los enfoques existentes tienen dificultades para navegar eficientemente bases de código complejas al identificar secciones de código relevantes. El desafío radica en conectar descripciones de problemas en lenguaje natural con los elementos de código apropiados, lo que a menudo requiere razonamiento a través de estructuras jerárquicas y múltiples dependencias. Presentamos LocAgent, un marco que aborda la localización de código mediante representaciones basadas en grafos. Al analizar bases de código en grafos dirigidos heterogéneos, LocAgent crea una representación ligera que captura las estructuras del código (archivos, clases, funciones) y sus dependencias (importaciones, invocaciones, herencia), permitiendo que los agentes de LLM busquen y localicen entidades relevantes de manera efectiva a través de un potente razonamiento multi-salto. Los resultados experimentales en benchmarks del mundo real demuestran que nuestro enfoque mejora significativamente la precisión en la localización de código. En particular, nuestro método con el modelo ajustado Qwen-2.5-Coder-Instruct-32B logra resultados comparables a los modelos propietarios de vanguardia (SOTA) a un costo considerablemente reducido (aproximadamente un 86% menos), alcanzando hasta un 92.7% de precisión en la localización a nivel de archivo, mientras mejora las tasas de éxito en la resolución de problemas de GitHub en un 12% para múltiples intentos (Pass@10). Nuestro código está disponible en 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