中文

何为优秀的提交信息?

软件工程 2022-02-08 v1 人机交互

摘要

协同软件开发中的一个关键问题是开发者之间的沟通。其中一种沟通方式是提交信息(commit message),开发者在其中描述他们在代码仓库中所做的更改。因此,提交信息充当了“审计轨迹”,开发者借此可以理解项目源代码如何变更以及为何变更。故而,提交信息的质量影响着开发者之间沟通的有效性。由于开发者缺乏时间和动力去撰写良好的信息,提交信息往往质量低劣。已有若干自动方法被提出以生成提交信息。然而,这些方法基于未经筛选的数据集,其中包含相当比例的措辞不佳的提交信息。在这项多方法研究中,我们首先界定了何为“优秀”的提交信息,随后利用来自五个高度活跃的开源项目的近 1600 条信息样本,确定了缺乏信息的提交信息所占比例。我们发现平均约 44% 的信息可加以改进,这表明在使用未经筛选的数据集训练提交信息生成器时,此类数据可能构成重大威胁。我们还观察到,先前工作未考虑提交信息的语义,且令人惊讶地,关于撰写优秀提交信息的指导极为匮乏。为此,我们基于提交信息表达中的反复模式开发了一种分类法。最后,我们探究了“优秀”提交信息能否被自动识别;此类自动化可提示开发者撰写更好的提交信息。

关键词

引用

@article{arxiv.2202.02974,
  title  = {What Makes a Good Commit Message?},
  author = {Yingchen Tian and Yuxia Zhang and Klaas-Jan Stol and Lin Jiang and Hui Liu},
  journal= {arXiv preprint arXiv:2202.02974},
  year   = {2022}
}