Commit message is a document that summarizes source code changes in natural language. A good commit message clearly shows the source code changes, so this enhances collaboration between developers. Therefore, our work is to develop a model that automatically writes the commit message. To this end, we release 345K datasets consisting of code modification and commit messages in six programming languages (Python, PHP, Go, Java, JavaScript, and Ruby). Similar to the neural machine translation (NMT) model, using our dataset, we feed the code modification to the encoder input and the commit message to the decoder input and measure the result of the generated commit message with BLEU-4. Also, we propose the following two training methods to improve the result of generating the commit message: (1) A method of preprocessing the input to feed the code modification to the encoder input. (2) A method that uses an initial weight suitable for the code domain to reduce the gap in contextual representation between programming language (PL) and natural language (NL). Training code, dataset, and pre-trained weights are available at https://github.com/graykode/commit-autosuggestions
翻译:提交信息是一份可以总结自然语言源代码变化的文件。 良好的承诺信息可以清楚地显示源代码变化, 从而增强开发者之间的合作。 因此, 我们的工作是开发一个自动写入承诺信息的模型。 为此, 我们以六种编程语言( Python、 PHP、 Go、 Java、 JavaScript 和 Ruby) 发布345K 数据集, 其中包括代码修改和以六种编程语言( Python、 PHP、 Go、 Java、 JavaScript 和 Ruby) 发送信息。 类似神经机器翻译( NMT) 模式, 使用我们的数据集, 将代码修改输入编码到编码输入中, 将承诺信息输入到解码器输入中, 并用 BLEUEU-4 测量生成的信息发送承诺信息的结果。 另外, 我们提议采用以下两种培训方法来改进生成承诺信息的结果:(1) 一种预处理输入内容的方法, 将代码修改输入输入到编码输入编码输入编码输入编码输入编码输入。 (2) (2) 适合代码域域以缩小编程语言与自然语言( PL) 。 。 培训代码、 数据设置 和预先测试重量。