3 个月前

检索增强的代码生成与摘要

检索增强的代码生成与摘要

摘要

软件开发人员在软件开发过程中需要编写大量源代码和文档。在实际开发中,开发者常常会回忆起过去编写的部分代码或代码摘要,以便在实现新功能或撰写文档时进行参考。为模拟开发人员生成代码或摘要的行为,我们提出了一种检索增强框架——REDCODER。该框架能够从检索数据库中检索出相关的代码片段或摘要,并将其作为补充信息提供给代码生成或摘要生成模型。REDCODER具有若干独特之处:首先,它将当前最先进的密集检索技术扩展应用于相关代码或摘要的搜索任务;其次,该框架可兼容包含单模态数据(仅代码或仅自然语言描述)或双模态数据(代码-描述配对)的检索数据库。我们在Java和Python语言的代码生成与摘要生成两个基准数据集上开展了实验与深入分析,结果表明,所提出的检索增强框架在性能上表现优异,充分验证了其有效性。

代码仓库

kagnlp/CodeGenerator
GitHub 中提及
rizwan09/redcoder
官方
pytorch
GitHub 中提及

基准测试

基准方法指标
code-generation-on-codexglue-codesearchnetRedcoder-ext
Java/BLEU: 28.98
Java/CodeBLEU: 33.18
Java/EM: 10.21
Python/BLEU: 24.43
Python/CodeBLEU: 30.21
Python/EM: 9.61
code-generation-on-concodeRedcoder-ext
BLEU: 42.5
CodeBLEU: 43.4
Exact Match: 23.4

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供