Publication Type

Journal Article

Version

acceptedVersion

Publication Date

7-2023

Abstract

Continuous Integration (CI) is a software development practice that builds and tests software frequently (e.g., at every push). One main motivator to adopt CI is the potential to deliver software functionalities more quickly than not using CI. However, there is little empirical evidence to support that CI helps projects deliver software functionalities more quickly. Through the analysis of 162,653 pull requests (PRs) of 87 GitHub projects, we empirically study whether adopting a CI service (TRAVISCI) can quicken the time to deliver merged PRs. We complement our quantitative study by analyzing 450 survey responses from participants of 73 software projects. Our results reveal that adopting a CI service may not necessarily quicken the delivery of merge PRs. Instead, the pivotal benefit of a CI service is to improve the decision making on PR submissions, without compromising the quality or overloading the project’s reviewers and maintainers. The automation provided by CI and the boost in developers’ confidence are key advantages of adopting a CI service. Furthermore, open-source projects planning to attract and retain developers should consider the use of a CI service in their project, since CI is perceived to lower the contribution barrier while making contributors feel more confident and engaged in the project.

Keywords

Continuous integration, Pull request, Delivery time, Code review

Discipline

Programming Languages and Compilers | Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

Empirical Software Engineering

Volume

28

Issue

4

First Page

1

Last Page

57

ISSN

1382-3256

Identifier

10.1007/s10664-023-10327-6

Publisher

Springer

Additional URL

https://doi.org/10.1007/s10664-023-10327-6

Share

COinS