Usage, costs, and benefits of continuous integration in open-source projects
Authors:
Top Cited Papers
Open Access
- 25 August 2016
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 426-437
Abstract
Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI rising as a big success story in automated software engineering, it has received almost no attention from the research community. For example, how widely is CI used in practice, and what are some costs and benefits associated with CI? Without answering such questions, developers, tool builders, and researchers make decisions based on folklore instead of data. In this paper, we use three complementary methods to study the usage of CI in open-source projects. To understand which CI systems developers use, we analyzed 34,544 open-source projects from GitHub. To understand how developers use CI, we analyzed 1,529,291 builds from the most commonly used CI system. To understand why projects use or do not use CI, we surveyed 442 developers. With this data, we answered several key questions related to the usage, costs, and benefits of CI. Among our results, we show evidence that supports the claim that CI helps projects release more often, that CI is widely adopted by the most popular projects, as well as finding that the overall percentage of projects using CI continues to grow, making it important and timely to focus more research on CI.Keywords
Funding Information
- National Science Foundation (CCF- 1421503, CCF-1439957, CCF-1553741)
This publication has 30 references indexed in Scilit:
- Practical regression test selection with dynamic file dependencies2015
- Virtual to the (near) end2015
- How (Much) Do Developers Test?2015
- Extracting Configuration Knowledge from Build Files with Symbolic Analysis2015
- Supporting Continuous Integration by Code-Churn Based Test Selection2015
- The highways and country roads to continuous deploymentIEEE Software, 2015
- An Empirical Study on the Adequacy of Testing in Open Source Projects2014
- Regression testing minimization, selection and prioritization: a surveySoftware Testing, Verification and Reliability, 2012
- Gender Differences in Early Free and Open Source Software Joining Process2012
- Embracing change with extreme programmingComputer, 1999