中文

基于标记的微型提交实证研究

软件工程 2024-05-16 v1

摘要

在软件开发中,开发人员经常对源代码应用维护活动,这些活动通过单个提交更改几行代码。对此类小型更改特征的良好理解可以支持质量保证方法(例如自动化程序修复),因为小型更改很可能正在解决其他更改中的缺陷;因此,理解创建小型更改的原因有助于理解引入错误的类型。最终,这些原因和错误类型可用于增强质量保证方法以提高代码质量。虽然先前的研究使用代码 churn 来 characterize and investigate 小型更改,但这种定义存在关键局限性。具体而言,它丢失了被更改行中标记信息的细节。例如,此定义无法区分以下两个单行更改:(1)更改字符串文字以修复显示消息,(2)更改函数调用并添加新参数。这些都是维护活动,但我们推断研究人员和实践者对支持后者更改感兴趣。为了解决此局限性,本文定义了基于更改标记的微型提交,这是一种基于更改标记的小型更改类型。我们的目标是使用更改的标记来量化小型更改。更改的标记允许我们更精确地识别小型更改。事实上,这种基于标记的定义可以区分上述示例。在四个开源软件项目中调查我们定义的微型提交,作为首个关于基于标记的微型提交的实证研究,我们了解了其特征。我们发现,微型提交主要替换单个名称或文字标记,微型提交更可能用于修复错误。此外,我们提出了利用基于标记的信息来支持软件工程方法,其中非常小的更改显著影响其效果。

关键词

引用

@article{arxiv.2405.09165,
  title  = {An Empirical Study of Token-based Micro Commits},
  author = {Masanari Kondo and Daniel M. German and Yasutaka Kamei and Naoyasu Ubayashi and Osamu Mizuno},
  journal= {arXiv preprint arXiv:2405.09165},
  year   = {2024}
}