Characterizing the influence of continuous integration: empirical results from 250+ open source and proprietary projects

Characterizing the influence of continuous integration: empirical results from 250+ open source and proprietary projects
复制标题

描述持续集成的影响:250 个开源和专有项目的实证结果

DOI:
10.1145/3278142.3278149
复制
发表时间:
2017
期刊:
Proceedings of the 4th ACM SIGSOFT International Workshop on Software Analytics
影响因子:
--
通讯作者:
Alexander Sobran
Alexander Sobran
中科院分区:
--
文献类型:
--
作者:
A. Rahman;Amritanshu Agrawal;R. Krishna;Alexander Sobran

文献摘要

被引文献

相似文献

持续集成 (CI) 工具通过在提交代码更改后自动编译、构建和执行测试用例来集成代码更改。 CI 工具的使用越来越流行,但专有项目如何从 CI 中获益仍然未知。为了调查 CI 对软件开发的影响,我们分析了 150 个开源软件 (OSS) 项目和 123 个专有项目。对于 OSS 项目,我们观察到采用 CI 后的预期收益,例如错误和问题解决方面的改进。然而,对于专有项目,我们无法做出类似的观察。我们的研究结果表明,仅采用 CI 可能不足以改进软件开发流程。如果从业者通过频繁提交的实践来有效地使用 CI 的反馈机制,那么 CI 就可以有效地进行软件开发。对于我们的一组专有项目,我们观察到从业者提交的频率较低,因此没有有效地使用 CI 来获取有关提交的代码更改的反馈。根据我们的发现,我们建议行业从业者采用 CI 的最佳实践来获得 CI 工具的好处,例如频繁提交。
Continuous integration (CI) tools integrate code changes by automatically compiling, building, and executing test cases upon submission of code changes. Use of CI tools is getting increasingly popular, yet how proprietary projects reap the benefits of CI remains unknown. To investigate the influence of CI on software development, we analyze 150 open source software (OSS) projects, and 123 proprietary projects. For OSS projects, we observe the expected benefits after CI adoption, e.g., improvements in bug and issue resolution. However, for the proprietary projects, we cannot make similar observations. Our findings indicate that only adoption of CI might not be enough to the improve software development process. CI can be effective for software development if practitioners use CI's feedback mechanism efficiently, by applying the practice of making frequent commits. For our set of proprietary projects we observe practitioners commit less frequently, and hence not use CI effectively for obtaining feedback on the submitted code changes. Based on our findings we recommend industry practitioners to adopt the best practices of CI to reap the benefits of CI tools for example, making frequent commits.