CommitBERT:使用预训练的编程语言模型生成提交信息
本文通过系统深入分析现有模型和数据集,发现不同 BLEU 指标的使用影响了现有方法的评估和理解,大多数现有数据集仅来自 Java 存储库,而其他编程语言的仓库则未得到充分探索,分割策略可以极大地影响现有模型的性能。基于我们的发现,我们进行人类评估并找到最能与人类得分相关的 BLEU 指标,我们还收集了大规模、信息丰富、多语言的提交消息数据集,MCMD,并在此数据集上评估了现有模型。我们还进行了不同数据集分割策略的广泛实验,并提出了适合不同情况的合适模型。基于实验结果和发现,我们提供了全面评估提交消息生成模型并探讨可能的未来研究方向的可行建议。我们相信这项工作可以帮助从业者和研究人员更好地评估和选择自动提交消息生成模型。
Jul, 2021
本论文介绍了一种基于 GitHub 中代码提交记录的预训练模型 CommitBART,利用三种不同的任务进行预训练,并融合了一种 “提交智能” 框架来理解和生成代码提交记录,最终实验结果表明该模型在代码预训练上取得了重大的突破。
Aug, 2022
该论文介绍了利用 Neural Machine Translation 技术将 diffs 转化为 commit messages 的方法,并进行了模型训练和评估,同时提出了质量过滤器来保证生成 commit messages 的质量。
Aug, 2017
通过创建高质量数据集和目标性评估来自动化编写提交消息,从而节省软件开发人员的时间;本研究提供了一个新的大型数据集 CommitBench,采用了最佳实践方法,用于生成提交消息,并使用该数据集比较不同的模型,展示了基于源代码预训练的 Transformer 模型的优越性能。
Mar, 2024
本文提出了一种新的提交信息生成模型 ATOM,通过表示代码更改的抽象语法树来集成检索和生成信息,并通过混合排序模块优先考虑一个代码更改的最准确信息,实验结果表明 ATOM 在生成代码提交信息方面显著优于现有模型。
Dec, 2019
使用基于图的表示和基于 Transformer 模型的方法,通过捕捉代码更改的上下文来生成高质量的 Commit 消息。通过实验证明,Comet 在 BLEU-NORM 和 METEOR 指标上优于现有技术,并与 GPT 模型相比具有竞争力的结果。
Feb, 2024
通过代码提交信息和修改代码所产生的消息来训练一种编码器 — 解码器结构的模型,以自然语言自动描述程序中的变化,该方法在 12 个开源项目中进行了评估,并在标准项目设置和跨项目设置中展示了可行的和语义良好的描述。
Apr, 2017
该论文提出了两个新颖的想法:从生成提交消息转向完成提交消息,并使用之前的提交历史作为额外的上下文,以提高生成提交消息的质量和个性化程度。他们使用自己收集的名为 CommitChronicle 的新数据集来评估这些新想法,并发现在某些情况下,提交消息的完成表现出比生成更好的结果,并且历史信息能够改善 CMG 模型和 GPT-3.5-turbo 在生成和完成任务中的性能。
Aug, 2023
CodeBERT 是一种双模态预训练模型,支持自然语言和编程语言应用,基于 Transformer 神经架构,通过替换标记检测的预训练任务进行训练,表现出卓越的性能和前瞻性。
Feb, 2020
该论文研究了提交软件更改至版本控制系统中的信息提交方式,发现自动生成的信息质量差于人工编写的信息。研究揭示了信息通常以动词 + 宾语的方式开始,希望利用这些发现通过训练分类器和生成软件的直接对象来生成简短的提交摘要。
Mar, 2017