ChatPaper.aiChatPaper

LocAgent: Agenti LLM Guidati da Grafi per la Localizzazione del Codice

LocAgent: Graph-Guided LLM Agents for Code Localization

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

Abstract

La localizzazione del codice – identificare con precisione dove in una codebase devono essere apportate le modifiche – è un compito fondamentale ma impegnativo nella manutenzione del software. Gli approcci esistenti faticano a navigare in modo efficiente codebase complesse quando si tratta di identificare le sezioni di codice rilevanti. La sfida risiede nel collegare le descrizioni dei problemi in linguaggio naturale con gli elementi di codice appropriati, spesso richiedendo un ragionamento attraverso strutture gerarchiche e molteplici dipendenze. Introduciamo LocAgent, un framework che affronta la localizzazione del codice attraverso una rappresentazione basata su grafi. Analizzando le codebase in grafi eterogenei diretti, LocAgent crea una rappresentazione leggera che cattura le strutture del codice (file, classi, funzioni) e le loro dipendenze (importazioni, invocazioni, ereditarietà), consentendo agli agenti LLM di cercare e individuare efficacemente le entità rilevanti attraverso un potente ragionamento multi-hop. I risultati sperimentali su benchmark del mondo reale dimostrano che il nostro approccio migliora significativamente l'accuratezza nella localizzazione del codice. In particolare, il nostro metodo con il modello fine-tuned Qwen-2.5-Coder-Instruct-32B raggiunge risultati comparabili ai modelli proprietari SOTA a un costo notevolmente ridotto (circa l'86% in meno), arrivando fino al 92,7% di accuratezza nella localizzazione a livello di file, migliorando del 12% i tassi di successo nella risoluzione delle issue su GitHub per più tentativi (Pass@10). Il nostro codice è disponibile all'indirizzo 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.
PDF132March 13, 2025