CodexGraph: Bridging Large Language Models and Code Repositories via Code Graph Databases

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Liu, Xiangyan, Lan, Bo, Hu, Zhiyuan, Liu, Yang, Zhang, Zhicheng, Wang, Fei, Shieh, Michael, Zhou, Wenmeng
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913464624087040
author Liu, Xiangyan
Lan, Bo
Hu, Zhiyuan
Liu, Yang
Zhang, Zhicheng
Wang, Fei
Shieh, Michael
Zhou, Wenmeng
author_facet Liu, Xiangyan
Lan, Bo
Hu, Zhiyuan
Liu, Yang
Zhang, Zhicheng
Wang, Fei
Shieh, Michael
Zhou, Wenmeng
contents Large Language Models (LLMs) excel in stand-alone code tasks like HumanEval and MBPP, but struggle with handling entire code repositories. This challenge has prompted research on enhancing LLM-codebase interaction at a repository scale. Current solutions rely on similarity-based retrieval or manual tools and APIs, each with notable drawbacks. Similarity-based retrieval often has low recall in complex tasks, while manual tools and APIs are typically task-specific and require expert knowledge, reducing their generalizability across diverse code tasks and real-world applications. To mitigate these limitations, we introduce CodexGraph, a system that integrates LLM agents with graph database interfaces extracted from code repositories. By leveraging the structural properties of graph databases and the flexibility of the graph query language, CodexGraph enables the LLM agent to construct and execute queries, allowing for precise, code structure-aware context retrieval and code navigation. We assess CodexGraph using three benchmarks: CrossCodeEval, SWE-bench, and EvoCodeBench. Additionally, we develop five real-world coding applications. With a unified graph database schema, CodexGraph demonstrates competitive performance and potential in both academic and real-world environments, showcasing its versatility and efficacy in software engineering. Our application demo: https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent.
format Preprint
id arxiv_https___arxiv_org_abs_2408_03910
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle CodexGraph: Bridging Large Language Models and Code Repositories via Code Graph Databases
Liu, Xiangyan
Lan, Bo
Hu, Zhiyuan
Liu, Yang
Zhang, Zhicheng
Wang, Fei
Shieh, Michael
Zhou, Wenmeng
Software Engineering
Artificial Intelligence
Computation and Language
Large Language Models (LLMs) excel in stand-alone code tasks like HumanEval and MBPP, but struggle with handling entire code repositories. This challenge has prompted research on enhancing LLM-codebase interaction at a repository scale. Current solutions rely on similarity-based retrieval or manual tools and APIs, each with notable drawbacks. Similarity-based retrieval often has low recall in complex tasks, while manual tools and APIs are typically task-specific and require expert knowledge, reducing their generalizability across diverse code tasks and real-world applications. To mitigate these limitations, we introduce CodexGraph, a system that integrates LLM agents with graph database interfaces extracted from code repositories. By leveraging the structural properties of graph databases and the flexibility of the graph query language, CodexGraph enables the LLM agent to construct and execute queries, allowing for precise, code structure-aware context retrieval and code navigation. We assess CodexGraph using three benchmarks: CrossCodeEval, SWE-bench, and EvoCodeBench. Additionally, we develop five real-world coding applications. With a unified graph database schema, CodexGraph demonstrates competitive performance and potential in both academic and real-world environments, showcasing its versatility and efficacy in software engineering. Our application demo: https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent.
title CodexGraph: Bridging Large Language Models and Code Repositories via Code Graph Databases
topic Software Engineering
Artificial Intelligence
Computation and Language
url https://arxiv.org/abs/2408.03910