CodeGRAG: Extracting Composed Syntax Graphs for Retrieval Augmented Cross-Lingual Code Generation

K Du, R Rui, H Chai, L Fu, W Xia, Y Wang… - arXiv preprint arXiv …, 2024 - arxiv.org
K Du, R Rui, H Chai, L Fu, W Xia, Y Wang, R Tang, Y Yu, W Zhang
arXiv preprint arXiv:2405.02355, 2024arxiv.org
Utilizing large language models to generate codes has shown promising meaning in
software development revolution. Despite the intelligence shown by the general large
language models, their specificity in code generation can still be improved due to the
syntactic gap and mismatched vocabulary existing among natural language and different
programming languages. In addition, programming languages are inherently logical and
complex, making them hard to be correctly generated. Existing methods rely on multiple …
Utilizing large language models to generate codes has shown promising meaning in software development revolution. Despite the intelligence shown by the general large language models, their specificity in code generation can still be improved due to the syntactic gap and mismatched vocabulary existing among natural language and different programming languages. In addition, programming languages are inherently logical and complex, making them hard to be correctly generated. Existing methods rely on multiple prompts to the large language model to explore better solutions, which is expensive. In this paper, we propose Syntax Graph Retrieval Augmented Code Generation (CodeGRAG) to enhance the performance of LLMs in single-round code generation tasks. CodeGRAG extracts and summarizes the control flow and data flow of code blocks to fill the gap between programming languages and natural language. The extracted external structural knowledge models the inherent flows of code blocks, which can facilitate LLMs for better understanding of code syntax and serve as a bridge among different programming languages. CodeGRAG significantly improves the code generation ability of LLMs and can even offer performance gain for cross-lingual code generation, e.g., C++ for Python.
arxiv.org
以上显示的是最相近的搜索结果。 查看全部搜索结果