Commit messages are natural language descriptions of code changes, which are important for program understanding and maintenance. However, writing commit messages manually is time-consuming and laborious, especially when the code is updated frequently. Various approaches utilizing generation or retrieval techniques have been proposed to automatically generate commit messages. To achieve a better understanding of how the existing approaches perform in solving this problem, this paper conducts a systematic and in-depth analysis of the state-of-the-art models and datasets. We find that: (1) Different variants of the BLEU metric are used in previous works, which affects the evaluation and understanding of existing methods. (2) Most existing datasets are crawled only from Java repositories while repositories in other programming languages are not sufficiently explored. (3) Dataset splitting strategies can influence the performance of existing models by a large margin. Some models show better performance when the datasets are split by commit, while other models perform better when the datasets are split by timestamp or by project. Based on our findings, we conduct a human evaluation and find the BLEU metric that best correlates with the human scores for the task. We also collect a large-scale, information-rich, and multi-language commit message dataset MCMD and evaluate existing models on this dataset. Furthermore, we conduct extensive experiments under different dataset splitting strategies and suggest the suitable models under different scenarios. Based on the experimental results and findings, we provide feasible suggestions for comprehensively evaluating commit message generation models and discuss possible future research directions. We believe this work can help practitioners and researchers better evaluate and select models for automatic commit message generation.
翻译:为更好地了解现有方法在解决这一问题方面如何发挥作用,本文件对最新模型和数据集进行系统和深入的分析。我们发现:(1) 以往工作中使用了不同版本的BLEU标准,这影响到对现有方法的评价和理解。 (2) 大多数现有数据集只能从爪哇系统存储处爬升,而其他程序语言的存储处则没有得到充分探讨。(3) 数据集分割战略可以大大地影响现有模型的绩效。有些模型在数据集因承诺而分裂时显示更好的绩效,而其他模型则在数据集因时间戳或项目而分裂时进行更好的绩效。我们发现:(1) 根据我们的调查结果,我们进行人类评估,发现BLEU标准与现有方法的评价和理解最有关系。(2) 多数现有数据集只能从爪哇系统存储处爬升,而其他程序语言的存储处则没有得到充分探讨。(3) 数据集分割战略可以很大幅度地影响现有模型的绩效。当数据集被承诺分解时,其他模型则会更好表现。根据我们的调查结果,我们进行一项人类评估,发现BLEU值衡量标准与人类的分数最吻合。