ChatPaper.aiChatPaper

LocAgent: Graph-gesteuerte LLM-Agenten zur Codelokalisierung

LocAgent: Graph-Guided LLM Agents for Code Localization

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

Zusammenfassung

Code Localization – die präzise Identifizierung der Stellen in einer Codebasis, an denen Änderungen vorgenommen werden müssen – ist eine grundlegende, aber herausfordernde Aufgabe in der Softwarewartung. Bestehende Ansätze haben Schwierigkeiten, komplexe Codebasen effizient zu navigieren, um relevante Codeabschnitte zu identifizieren. Die Herausforderung besteht darin, natürliche Sprachbeschreibungen von Problemen mit den entsprechenden Codeelementen zu verknüpfen, was oft eine logische Schlussfolgerung über hierarchische Strukturen und mehrere Abhängigkeiten erfordert. Wir stellen LocAgent vor, ein Framework, das Code Localization durch eine graphenbasierte Darstellung adressiert. Indem es Codebasen in gerichtete heterogene Graphen zerlegt, erstellt LocAgent eine leichtgewichtige Repräsentation, die Codestrukturen (Dateien, Klassen, Funktionen) und ihre Abhängigkeiten (Importe, Aufrufe, Vererbung) erfasst. Dies ermöglicht es LLM-Agenten, relevante Entitäten durch leistungsstarkes Multi-Hop-Reasoning effektiv zu suchen und zu lokalisieren. Experimentelle Ergebnisse auf realen Benchmarks zeigen, dass unser Ansatz die Genauigkeit bei der Code Localization deutlich verbessert. Insbesondere erreicht unsere Methode mit dem feinabgestimmten Qwen-2.5-Coder-Instruct-32B-Modell vergleichbare Ergebnisse zu proprietären SOTA-Modellen bei deutlich reduzierten Kosten (ca. 86 % Reduktion) und erzielt eine Genauigkeit von bis zu 92,7 % bei der Dateiebene-Lokalisierung. Gleichzeitig verbessert sie die Erfolgsrate bei der Lösung von GitHub-Issues um 12 % für mehrere Versuche (Pass@10). Unser Code ist verfügbar unter 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

PDF92March 13, 2025