[论文解读] RACE: Retrieval-Augmented Commit Message Generation
该论文提出RACE,一种用于提交消息生成的检索增强神经模型,通过检索语义相似的提交消息作为范例,并利用范例引导器将这些范例与当前代码差异对齐,显著提升了生成质量。RACE在五种编程语言上均优于最先进模型,BLEU得分最高提升43%,并在人类评估中展现出优异的丰富性、简洁性和表达力。
Commit messages are important for software development and maintenance. Many neural network-based approaches have been proposed and shown promising results on automatic commit message generation. However, the generated commit messages could be repetitive or redundant. In this paper, we propose RACE, a new retrieval-augmented neural commit message generation method, which treats the retrieved similar commit as an exemplar and leverages it to generate an accurate commit message. As the retrieved commit message may not always accurately describe the content/intent of the current code diff, we also propose an exemplar guider, which learns the semantic similarity between the retrieved and current code diff and then guides the generation of commit message based on the similarity. We conduct extensive experiments on a large public dataset with five programming languages. Experimental results show that RACE can outperform all baselines. Furthermore, RACE can boost the performance of existing Seq2Seq models in commit message generation.
研究动机与目标
- 为解决现有神经模型生成的提交消息重复、冗余或信息量低的问题。
- 通过利用语义相似的过往提交作为范例,提升提交消息生成的准确性和信息量。
- 通过学习当前差异与检索到的提交之间的语义相似性,降低检索到的范例引入错误或无关信息的风险。
- 设计一种框架,通过检索增强生成方式增强现有Seq2Seq模型,而无需从头开始重新训练。
- 通过自动指标和人类评估在多种编程语言中验证该方法的有效性。
提出的方法
- 训练代码差异编码器,将代码变更嵌入高维语义空间,用于相似性计算。
- 使用向量相似性(如余弦距离)从大规模平行语料库中检索最相似的代码差异及其关联的提交消息。
- 将检索到的提交消息视为范例,用于引导生成过程。
- 引入一个范例引导模块,学习当前代码差异与检索到的范例之间的语义相似性。
- 利用相似性得分动态关注或条件化生成模型对范例的使用,确保生成消息的相关性和准确性。
- 将检索增强机制集成到现有Seq2Seq模型(如NMTGen、CodeT5、CommitBERT)中,提升其性能而无需重新训练。
实验结果
研究问题
- RQ1与纯神经模型或基于检索的基线相比,检索增强生成是否能提升自动生成的提交消息的质量和信息量?
- RQ2范例引导器在将检索到的范例与当前代码差异对齐方面有多有效,能否防止引入无关或错误信息?
- RQ3RACE在多大程度上能提升现有最先进Seq2Seq模型在提交消息生成方面的性能?
- RQ4该检索增强方法是否能在包括Java、C#、C++、Python和JavaScript在内的多种编程语言中实现泛化?
- RQ5与基线相比,人类评估者如何评价RACE生成的提交消息在信息量、简洁性和表达力方面的表现?
主要发现
- RACE在包含五种编程语言的大规模数据集上,于四项自动指标(BLEU、Meteor、Rouge-L、Cider)上显著优于全部11个最先进基线模型。
- 在BLEU得分方面,RACE使NMTGen的性能提升43%,CommitBERT提升11%,CodeT5-small提升15%,CodeT5-base提升16%(平均值)。
- 人类评估显示,RACE在信息量(2.49)、简洁性(3.08)和表达力(2.85)方面均获得最高平均分,所有提升均具有统计显著性(p < 0.05)。
- 范例引导器通过学习当前差异与检索到的提交之间的语义相似性,有效降低了从检索范例中引入无关或错误信息的风险。
- 该框架作为即插即用的增强模块具有有效性,可在不重新训练的前提下提升现有模型性能。
- 该方法在五种不同编程语言中表现出强大的泛化能力,表明其具有广泛的适用性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。