论持续集成中非功能性需求与构建的相互作用
软件工程
2017-03-30 v2
摘要
持续集成 (Continuous Integration, CI) 意味着整个开发者团队在软件项目的主干上协同工作。CI 系统使软件的构建自动化。有时开发者签入的代码会破坏构建。被破坏的构建本身可能不是问题,但它有可能干扰同事,因此影响团队绩效。在本研究中,我们调查了来自 1,283 个软件项目的非功能性需求 (Non-Functional Requirements, NFRs) 与构建状态之间的相互作用。我们发现与 NFRs 相关的构建状态之间存在显著差异。因此,可以提出工具以聚焦于防止 CI 中失败的新方法来改进 CI,特别是针对与效率和可用性相关的构建。此外,使被破坏的构建恢复正常所需的时间在所有 NFRs 中表现出双峰分布,较高的峰在一天内,较低的峰在六周内。我们的结果表明,对于 Ruby 的可维护性以及 Java 的功能性和可靠性制定更有计划的日程安排,将减少与被破坏构建相关的延迟。
引用
@article{arxiv.1703.09602,
title = {On the Interplay between Non-Functional Requirements and Builds on Continuous Integration},
author = {Klérisson V. R. Paixão and Crícia Z. Felício and Fernanda M. Delfim and Marcelo de A. Maia},
journal= {arXiv preprint arXiv:1703.09602},
year = {2017}
}
备注
4 pages, accepted in MSR 2017 Mining Challenge Track