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

2024年05月03日
  • 简介
    利用大型语言模型生成代码在软件开发革命中显示出很有前途的意义。尽管一般大型语言模型表现出的智能,但由于自然语言和不同编程语言之间存在句法差距和词汇不匹配,它们在代码生成方面的特定性仍有待提高。此外,编程语言本质上是逻辑和复杂的,很难正确生成。现有的方法依赖于多个提示来探索更好的解决方案,这是昂贵的。在本文中,我们提出了语法图检索增强代码生成(CodeGRAG)来增强LLMs在单轮代码生成任务中的性能。CodeGRAG提取和总结代码块的控制流和数据流,以填补编程语言和自然语言之间的差距。提取的外部结构知识对代码块的内在流程进行建模,这可以促进LLMs更好地理解代码语法,并作为不同编程语言之间的桥梁。CodeGRAG显着提高了LLMs的代码生成能力,甚至可以为跨语言代码生成提供性能增益,例如将C++转换为Python。
  • 图表
  • 解决问题
    本论文旨在提高大语言模型在单轮代码生成任务中的性能,以填补自然语言和不同编程语言之间的语法差距和词汇不匹配问题,并探索更好的解决方案。
  • 关键思路
    本论文提出了一种名为CodeGRAG的解决方案,它提取和总结代码块的控制流和数据流,以填补编程语言和自然语言之间的差距,并作为不同编程语言之间的桥梁,以此来增强大语言模型的性能。
  • 其它亮点
    CodeGRAG显著提高了大语言模型的代码生成能力,并可以为跨语言代码生成(例如C++到Python)提供性能提升。论文使用了实验来验证CodeGRAG的有效性,并提供了数据集和开源代码供其他研究者使用和参考。
  • 相关研究
    在这个领域中,最近的相关研究包括:1)使用多个提示来探索更好的解决方案;2)使用语法树来帮助大语言模型生成代码;3)使用深度学习方法来生成代码。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论