skip to main content
10.1145/3196398.3196421acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Studying the impact of adopting continuous integration on the delivery time of pull requests

Authors Info & Claims
Published:28 May 2018Publication History

ABSTRACT

Continuous Integration (CI) is a software development practice that leads developers to integrate their work more frequently. Software projects have broadly adopted CI to ship new releases more frequently and to improve code integration. The adoption of CI is motivated by the allure of delivering new functionalities more quickly. However, there is little empirical evidence to support such a claim. Through the analysis of 162,653 pull requests (PRs) of 87 GitHub projects that are implemented in 5 different programming languages, we empirically investigate the impact of adopting CI on the time to deliver merged PRs. Surprisingly, only 51.3% of the projects deliver merged PRs more quickly after adopting CI. We also observe that the large increase of PR submissions after CI is a key reason as to why projects deliver PRs more slowly after adopting CI. To investigate the factors that are related to the time-to-delivery of merged PRs, we train regression models that obtain sound median R-squares of 0.64-0.67. Finally, a deeper analysis of our models indicates that, before the adoption of CI, the integration-load of the development team, i.e., the number of submitted PRs competing for being merged, is the most impactful metric on the time to deliver merged PRs before CI. Our models also reveal that PRs that are merged more recently in a release cycle experience a slower delivery time.

References

  1. Kent Beck. 2000. Extreme Programming Explained: Embrace Change. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. DJ Best and DE Roberts. 1975. Algorithm AS 89: the upper tail probabilities of Spearman's rho. Journal of the Royal Statistical Society. Series C (Applied Statistics) 24, 3 (1975), 377--379.Google ScholarGoogle ScholarCross RefCross Ref
  3. Jiyao Chen, Richard R Reilly, and Gary S Lynn. 2005. The impacts of speed-to-market on new product success: the moderating effects of uncertainty. IEEE Trans. Eng. Manage. 52, 2 (2005), 199--212.Google ScholarGoogle ScholarCross RefCross Ref
  4. Morakot Choetkiertikul, Hoa Khanh Dam, Truyen Tran, and Aditya Ghose. 2015. Predicting Delays in Software Projects Using Networked Classification (T). In Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on. IEEE, 353--364.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Morakot Choetkiertikul, Hoa Khanh Dam, Truyen Tran, and Aditya Ghose. 2017. Predicting the delay of issues with due dates in software projects. Empirical Software Engineering Journal (2017), 1--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Norman Cliff. 1993. Dominance statistics: Ordinal analyses to answer ordinal questions. Psychological Bulletin 114, 3 (1993), 494.Google ScholarGoogle ScholarCross RefCross Ref
  7. Kevin Crowston, Hala Annabi, and James Howison. 2003. Defining open source software project success. ICIS 2003 Proceedings (2003), 28.Google ScholarGoogle Scholar
  8. Daniel Alencar da Costa, Surafel Lemma Abebe, Shane McIntosh, Uirá Kulesza, and Ahmed E Hassan. 2014. An empirical study of delays in the integration of addressed issues. In Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on. IEEE, 281--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Daniel Alencar da Costa, Shane McIntosh, Uirá Kulesza, and Ahmed E. Hassan. 2016. The Impact of Switching to a Rapid Release Cycle on the Integration Delay of Addressed Issues: An Empirical Study of the Mozilla Firefox Project. In Proceedings of the 13th International Conference on Mining Software Repositories (MSR '16). ACM, New York, NY, USA, 374--385. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Adam Debbiche, Mikael Dienér, and Richard Berntsson Svensson. 2014. Challenges when adopting continuous integration: A case study. In International Conference on Product-Focused Software Process Improvement. Springer, 17--32.Google ScholarGoogle ScholarCross RefCross Ref
  11. Paul Duvall, Stephen M Matyas, and Andrew Glover. 2007. Continuous Integration: Improving Software Quality and Reducing Risk (The Addison-Wesley Signature Series). Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Martin Fowler and Matthew Foemmel. 2006. Continuous integration. ThoughtWorks) http://www.thoughtworks.com/ContinuousIntegration.pdf (2006), 122.Google ScholarGoogle Scholar
  13. Emanuel Giger, Martin Pinzger, and Harald Gall. 2010. Predicting the fix time of bugs. In Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering. ACM, 52--56. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Georgios Gousios, Martin Pinzger, and Arie van Deursen. 2014. An exploratory study of the pull-based software development model. In Proceedings of the 36th International Conference on Software Engineering. 345--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Georgios Gousios and Diomidis Spinellis. 2012. GHTorrent: GitHub's data from a firehose. In Mining software repositories (msr), 2012 9th ieee working conference on. 12--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Georgios Gousios, Andy Zaidman, Margaret-Anne Storey, and Arie Van Deursen. 2015. Work practices and challenges in pull-based development: the integrator's perspective. In Proceedings of the 37th International Conference on Software Engineering-Volume 1. 358--368. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Frank Harrell. 2015. Regression modeling strategies: with applications to linear models, logistic and ordinal regression, and survival analysis. Springer.Google ScholarGoogle Scholar
  18. Michael Hilton, Timothy Tunnell, Kai Huang, Darko Marinov, and Danny Dig. 2016. Usage, costs, and benefits of continuous integration in open-source projects. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering - ASE 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani. 2014. An Introduction to Statistical Learning: With Applications in R. Springer Publishing Company, Incorporated. Google ScholarGoogle Scholar
  20. Yujuan Jiang, Bram Adams, and Daniel M German. 2013. Will my patch make it? and how fast? case study on the linux kernel. In Mining Software Repositories (MSR), 2013 10th IEEE Working Conference on. IEEE, 101--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Teemu Karvonen, Woubshet Behutiye, Markku Oivo, and Pasi Kuvaja. 2017. Systematic literature review on the impacts of agile release engineering practices. Information and Software Technology 86 (2017), 87 -- 100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Eero Laukkanen, Maria Paasivaara, and Teemu Arvonen. 2015. Stakeholder Perceptions of the Adoption of Continuous Integration - A Case Study. In Proceedings of the 2015 Agile Conference (AGILE '15). IEEE Computer Society, 11--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Shane Mcintosh, Yasutaka Kamei, Bram Adams, and Ahmed E. Hassan. 2016. An Empirical Study of the Impact of Modern Code Review Practices on Software Quality. Empirical Softw. Engg. 21, 5 (2016), 2146--2189. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Mathias Meyer. 2014. Continuous integration and its tools. IEEE Softw. 31, 3 (2014), 14--16.Google ScholarGoogle ScholarCross RefCross Ref
  25. Nachiappan Nagappan and Thomas Ball. 2005. Use of relative code churn measures to predict system defect density. In Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on. IEEE, 284--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Dewayne E. Perry, Adam A. Porter, and Lawrence G. Votta. 2000. Empirical Studies of Software Engineering: A Roadmap. In Proceedings of the Conference on The Future of Software Engineering (ICSE '00). ACM, 345--355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Romano, J.D. Kromrey, J. Coraggio, and J. Skowronek. 2006. Appropriate statistics for ordinal level data: Should we really be using t-test and Cohen'sd for evaluating group differences on the NSSE and other surveys?. In annual meeting of the Florida Association of Institutional Research. 1--3.Google ScholarGoogle Scholar
  28. Adrian Schroter, Adrian Schröter, Nicolas Bettenburg, and Rahul Premraj. 2010. Do stack traces help developers fix bugs?. In Mining Software Repositories (MSR), 2010 7th IEEE Working Conference on. IEEE, 118--121.Google ScholarGoogle ScholarCross RefCross Ref
  29. Ken Schwaber. 1997. SCRUM Development Process. In Business Object Design and Implementation, Dr Jeff Sutherland, Cory Casanave, Joaquin Miller, Dr Philip Patel, and Glenn Hollowell (Eds.). Springer London, 117--134.Google ScholarGoogle Scholar
  30. Emad Shihab, Akinori Ihara, Yasutaka Kamei, Walid M Ibrahim, Masao Ohira, Bram Adams, Ahmed E Hassan, and Ken-ichi Matsumoto. 2010. Predicting reopened bugs: A case study on the eclipse project. In Reverse Engineering (WCRE), 2010 17th Working Conference on. IEEE, 249--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Daniel Ståhl and Jan Bosch. 2014. Modeling Continuous Integration Practice Differences in Industry Software Development. J. Syst. Softw. 87 (2014), 48--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Bogdan Vasilescu, Stef Van Schuylenburg, Jules Wulms, Alexander Serebrenik, and Mark GJ van den Brand. 2014. Continuous integration in a social-coding world: Empirical evidence from GitHub. In Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on. IEEE, 401--405. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Bogdan Vasilescu, Yue Yu, Huaimin Wang, Premkumar Devanbu, and Vladimir Filkov. 2015. Quality and productivity outcomes relating to continuous integration in GitHub. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Daniel S Wilks. 2011. Statistical methods in the atmospheric sciences. Vol. 100. Academic press.Google ScholarGoogle Scholar
  35. David F. Williamson, Robert A. Parker, and Juliette S. Kendrick. 1989. The box plot: A simple visual method to interpret data. Annals of Internal Medicine 110 (1989), 916--921.Google ScholarGoogle ScholarCross RefCross Ref
  36. Krzysztof Wnuk, Tony Gorschek, and Showayb Zahda. 2013. Obsolete software requirements. Information and Software Technology 55, 6 (2013), 921--940. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Claes Wohlin, Min Xie, and Magnus Ahlgren. 1995. Reducing time to market through optimization with respect to soft factors. In The Engineering Management Conference. 116--121.Google ScholarGoogle ScholarCross RefCross Ref
  38. Yue Yu, Gang Yin, Tao Wang, Cheng Yang, and Huaimin Wang. 2016. Determinants of pull-based development in the context of continuous integration. Sci. China Inf. Sci. 59, 8 (2016).Google ScholarGoogle Scholar
  39. Yangyang Zhao, Alexander Serebrenik, Yuming Zhou, Vladimir Filkov, and Bogdan Vasilescu. 2017. The impact of continuous integration on other software development practices: a large-scale empirical study. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, 60--71. Google ScholarGoogle ScholarCross RefCross Ref
  1. Studying the impact of adopting continuous integration on the delivery time of pull requests

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      MSR '18: Proceedings of the 15th International Conference on Mining Software Repositories
      May 2018
      627 pages
      ISBN:9781450357166
      DOI:10.1145/3196398

      Copyright © 2018 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 May 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader