CommitBERT:基于预训练编程语言模型的提交信息生成
计算与语言
2021-06-01 v1
摘要
提交信息是用自然语言概括源代码变更的文本。良好的提交信息能清晰展示源代码变更,从而增强开发者之间的协作。因此,我们的工作是开发一个自动撰写提交信息的模型。为此,我们发布了由六种编程语言(Python、PHP、Go、Java、JavaScript 和 Ruby)的代码修改与提交信息组成的 345K 数据集。类似于神经机器翻译(NMT)模型,我们使用该数据集将代码修改输入编码器、将提交信息输入解码器,并以 BLEU-4 衡量生成提交信息的结果。此外,我们提出以下两种训练方法来改进提交信息生成结果:(1)一种对输入进行预处理以将代码修改送入编码器输入的方法。(2)一种使用适用于代码领域的初始权重来缩小编程语言(PL)与自然语言(NL)之间上下文表示差距的方法。训练代码、数据集和预训练权重可在 https://github.com/graykode/commit-autosuggestions 获取。
引用
@article{arxiv.2105.14242,
title = {CommitBERT: Commit Message Generation Using Pre-Trained Programming Language Model},
author = {Tae-Hwan Jung},
journal= {arXiv preprint arXiv:2105.14242},
year = {2021}
}
备注
8 pages, 3 figures, 4 Tables