中文

持续集成与持续交付中的决策:一项探索性研究

软件工程 2022-05-11 v1

摘要

近年来,持续集成(CI)与持续交付(CD)作为以高效方式交付软件产品的实践与流水线,在软件开发生命周期的部分或全部环节中受到热烈讨论并广泛应用。诸如 Travis CI 等许多工具提供了各类特性以支持 CI/CD 流水线,但对于 CI/CD 中频繁做出哪些决策仍缺乏理解。本工作中,我们探索了 GitHub 上一个流行的开源项目 Budibase,从实践者视角揭示 CI/CD 中所做决策的类型。我们首先浏览 GitHub Trending 页面,开展试点仓库提取,并将 Budibase 仓库确定为我们的研究案例。随后我们爬取了该仓库所有已关闭问题,获得 1168 个已关闭问题。依据特定准则过滤掉无关问题后,得到 370 个包含决策的候选问题用于数据提取。我们采用结合预定义类型与持续比较法(Constant Comparison)的混合方法分析问题以获得决策类别。结果显示,Budibase 已关闭问题中的主要决策类型为功能需求决策(67.6%),其次是架构决策(11.1%)。我们的发现鼓励开发者在 CI/CD 相关的问题与决策上投入更多精力,并为研究者提供了 CI/CD 中决策分类的参考。

关键词

引用

@article{arxiv.2205.05043,
  title  = {Decisions in Continuous Integration and Delivery: An Exploratory Study},
  author = {Yajing Luo and Peng Liang and Mojtaba Shahin and Zengyang Li and Chen Yang},
  journal= {arXiv preprint arXiv:2205.05043},
  year   = {2022}
}

备注

The 34th International Conference on Software Engineering and Knowledge Engineering (SEKE)