中文

特性开关的采用如何与开源项目中的分支合并及缺陷相关联?

软件工程 2021-09-14 v4

摘要

背景:分支在版本控制中被广泛采用以支持协作软件开发。然而,分支造成的隔离可能给后续的合并过程带来挑战。近来,Google、Microsoft、Facebook、Spotify 等公司采用了基于主干的开发配合特性开关(feature toggles)。该策略无需通过分支隔离即可实现协作,有可能减少合并挑战。但文献缺乏关于特性开关对协作软件开发益处与局限性的证据。目标/方法:本文研究了在 949 个用 6 种不同编程语言编写的开源项目中应用特性开关的效果。我们首先确定了每个项目采用特性开关框架的时刻。随后,我们观察了该采用是否在分支合并的频率或复杂度、缺陷数量及其平均修复时间上引起了显著变化。最后,我们将所得结果与一组不使用特性开关框架的对照项目的结果进行了比较。结果/结论:我们观察到采用特性开关框架后平均合并工作量减少,而修复缺陷所需的平均总时间增加。然而,我们无法确认该增加受特性开关使用的影响。

关键词

引用

@article{arxiv.2007.05760,
  title  = {How the adoption of feature toggles correlates with branch merges and defects in open-source projects?},
  author = {Eduardo Smil Prutchi and Heleno de Souza Campos Junior and Leonardo Gresta Paulino Murta},
  journal= {arXiv preprint arXiv:2007.05760},
  year   = {2021}
}

备注

Accepted in the Software: Practice and Experience journal