How to Understand Whole Software Repository?
Recently, Large Language Model (LLM) based agents have advanced the significant development of Automatic Software Engineering (ASE). Although verified effectiveness, the designs of the existing methods mainly focus on the local information of codes, e.g., issues, classes, and functions, leading to l...
Gespeichert in:
Hauptverfasser: | , , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Recently, Large Language Model (LLM) based agents have advanced the
significant development of Automatic Software Engineering (ASE). Although
verified effectiveness, the designs of the existing methods mainly focus on the
local information of codes, e.g., issues, classes, and functions, leading to
limitations in capturing the global context and interdependencies within the
software system. From the practical experiences of the human SE developers, we
argue that an excellent understanding of the whole repository will be the
critical path to ASE. However, understanding the whole repository raises
various challenges, e.g., the extremely long code input, the noisy code
information, the complex dependency relationships, etc. To this end, we develop
a novel ASE method named RepoUnderstander by guiding agents to comprehensively
understand the whole repositories. Specifically, we first condense the critical
information of the whole repository into the repository knowledge graph in a
top-to-down mode to decrease the complexity of repository. Subsequently, we
empower the agents the ability of understanding whole repository by proposing a
Monte Carlo tree search based repository exploration strategy. In addition, to
better utilize the repository-level knowledge, we guide the agents to
summarize, analyze, and plan. Then, they can manipulate the tools to
dynamically acquire information and generate the patches to solve the
real-world GitHub issues. Extensive experiments demonstrate the superiority and
effectiveness of the proposed RepoUnderstander. It achieved 18.5\% relative
improvement on the SWE-bench Lite benchmark compared to SWE-agent. |
---|---|
DOI: | 10.48550/arxiv.2406.01422 |