Continuous integration in a social-coding world: Empirical evidence from GitHub. **Updated version with corrections**
arXiv:1512.01862 · doi:10.1109/ICSME.2014.62
Abstract
Continuous integration is a software engineering practice of frequently merging all developer working copies with a shared main branch, e.g., several times a day. With the advent of GitHub, a platform well known for its "social coding" features that aid collaboration and sharing, and currently the largest code host in the open source world, collaborative software development has never been more prominent. In GitHub development one can distinguish between two types of developer contributions to a project: direct ones, coming from a typically small group of developers with write access to the main project repository, and indirect ones, coming from developers who fork the main repository, update their copies locally, and submit pull requests for review and merger. In this paper we explore how GitHub developers use continuous integration as well as whether the contribution type (direct versus indirect) and different project characteristics (e.g., main programming language, or project age) are associated with the success of the automatic builds.
This is an updated and corrected version of our ICSME 2014 paper: http://dx.doi.org/10.1109/ICSME.2014.62
Cited by in corpus (10)
- How to Design a Program Repair Bot? Insights from the Repairnator Project
- A Quantitative Study of Java Software Buildability
- Enabling Collaborative Data Science Development with the Ballet Framework
- Initial and Eventual Software Quality Relating to Continuous Integration in GitHub
- Replicating and Scaling up Qualitative Analysis using Crowdsourcing: A Github-based Case Study
- On GitHub's Programming Languages
- Replication Can Improve Prior Results: A GitHub Study of Pull Request Acceptance
- TAOS-CI: Lightweight & Modular Continuous Integration System for Edge Computing
- What helped, and what did not? An Evaluation of the Strategies to Improve Continuous Integration
- Influence of Technical and Social Factors for Introducing Bugs