LocAgent : Agents LLM guidés par des graphes pour la localisation de code
LocAgent: Graph-Guided LLM Agents for Code Localization
March 12, 2025
Auteurs: Zhaoling Chen, Xiangru Tang, Gangda Deng, Fang Wu, Jialong Wu, Zhiwei Jiang, Viktor Prasanna, Arman Cohan, Xingyao Wang
cs.AI
Résumé
La localisation de code – l'identification précise des endroits dans une base de code où des modifications doivent être apportées – est une tâche fondamentale mais complexe dans la maintenance logicielle. Les approches existantes peinent à naviguer efficacement dans des bases de code complexes pour identifier les sections de code pertinentes. Le défi réside dans la connexion entre les descriptions de problèmes en langage naturel et les éléments de code appropriés, nécessitant souvent un raisonnement à travers des structures hiérarchiques et de multiples dépendances. Nous présentons LocAgent, un cadre qui aborde la localisation de code via une représentation basée sur des graphes. En analysant les bases de code en graphes hétérogènes dirigés, LocAgent crée une représentation légère qui capture les structures de code (fichiers, classes, fonctions) et leurs dépendances (imports, invocations, héritage), permettant aux agents LLM de rechercher et de localiser efficacement les entités pertinentes grâce à un raisonnement multi-saut puissant. Les résultats expérimentaux sur des benchmarks du monde réel démontrent que notre approche améliore significativement la précision dans la localisation de code. Notamment, notre méthode avec le modèle fine-tuné Qwen-2.5-Coder-Instruct-32B atteint des résultats comparables aux modèles propriétaires de pointe à un coût considérablement réduit (environ 86 % de réduction), atteignant jusqu'à 92,7 % de précision pour la localisation au niveau des fichiers tout en améliorant les taux de réussite de résolution des problèmes GitHub de 12 % pour plusieurs tentatives (Pass@10). Notre code est disponible à l'adresse 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