ABSTRACT
The advent of distributed version control systems has led to the development of a new paradigm for distributed software development; instead of pushing changes to a central repository, developers pull them from other repositories and merge them locally. Various code hosting sites, notably Github, have tapped on the opportunity to facilitate pull-based development by offering workflow support tools, such as code reviewing systems and integrated issue trackers. In this work, we explore how pull-based software development works, first on the GHTorrent corpus and then on a carefully selected sample of 291 projects. We find that the pull request model offers fast turnaround, increased opportunities for community engagement and decreased time to incorporate contributions. We show that a relatively small number of factors affect both the decision to merge a pull request and the time to process it. We also examine the reasons for pull request rejection and find that technical ones are only a small minority.
- J. Anvik, L. Hiew, and G. C. Murphy. Who should fix this bug? In Proceedings of ICSE ’06, pages 361–370. ACM, 2006. Google ScholarDigital Library
- E. T. Barr, C. Bird, P. C. Rigby, A. Hindle, D. M. German, and P. Devanbu. Cohesive and isolated development with branches. In Proceedings of FASE ’12. Springer, 2012. Google ScholarDigital Library
- O. Baysal, R. Holmes, and M. W. Godfrey. Mining usage data and development artifacts. In Proceedings of MSR ’09, pages 98–107. IEEE, 2012.Google Scholar
- C. Bird, A. Gourley, and P. Devanbu. Detecting patch submission and acceptance in oss projects. In Proceedings of MSR ’07, page 26. IEEE Computer Society, 2007. Google ScholarDigital Library
- C. Bird, A. Gourley, P. Devanbu, A. Swaminathan, and G. Hsu. Open borders? Immigration in open source projects. In Proceedings of MSR ’07, page 6. IEEE Computer Society, 2007. Google ScholarDigital Library
- C. Bird, P. C. Rigby, E. T. Barr, D. J. Hamilton, D. M. German, and P. Devanbu. The promises and perils of mining Git. In Proceedings of MSR ’09, pages 1–10, 2009. Google ScholarDigital Library
- C. Bird and T. Zimmermann. Assessing the value of branches with what-if analysis. In Proceedings of FSE ’12, pages 45:1–45:11. ACM, 2012. Google ScholarDigital Library
- S. Chacon. Pro Git. Expert’s Voice in Software Development. Apress, 1rst edition, Aug 2009. Google ScholarDigital Library
- L. Dabbish, C. Stuart, J. Tsay, and J. Herbsleb. Social coding in Github: transparency and collaboration in an open software repository. In Proceedings of CSCW ’12, pages 1277–1286. ACM, 2012. Google ScholarDigital Library
- L. Dabbish, C. Stuart, J. Tsay, and J. Herbsleb. Leveraging transparency. IEEE Software, 30(1):37–43, 2013. Google ScholarDigital Library
- B. Fluri, M. Wursch, M. PInzger, and H. Gall. Change distilling: Tree differencing for fine-grained source code change extraction. IEEE Trans. Soft. Eng., 33(11):725–743, 2007. Google ScholarDigital Library
- R. Genuer, J.-M. Poggi, and C. Tuleau-Malot. Variable selection using random forests. Pattern Recognition Letters, 31(14):2225 – 2236, 2010. Google ScholarDigital Library
- E. Giger, M. D’Ambros, M. Pinzger, and H. C. Gall. Method-level bug prediction. In In Proceedings of ESEM ’12, pages 171–180. ACM, 2012. Google ScholarDigital Library
- E. Giger, M. Pinzger, and H. Gall. Predicting the fix time of bugs. In In Proceedings of RSSE ’10, pages 52–56. ACM, 2010. Google ScholarDigital Library
- T. Girba, S. Ducasse, and M. Lanza. Yesterday’s weather: guiding early reverse engineering efforts by summarizing the evolution of changes. In Proceedings of ICSM ’04, pages 40 – 49, sept. 2004. Google ScholarDigital Library
- G. Gousios. The GHTorrent dataset and tool suite. In Proceedings of MSR ’13, May 2013. Google ScholarDigital Library
- N. V. Ivankova, J. W. Creswell, and S. L. Stick. Using mixed-methods sequential explanatory design: From theory to practice. Field Methods, 18(1):3–20, 2006.Google ScholarCross Ref
- C. Jensen and W. Scacchi. Role migration and advancement processes in OSSD projects: A comparative case study. In Proceedings of ICSE ’07, pages 364–374. IEEE Computer Society, 2007. Google ScholarDigital Library
- G. Jeong, S. Kim, T. Zimmermann, and K. Yi. Improving code review by predicting reviewers and acceptance of patches. Research on Software Analysis for Error-free Computing Center Tech-Memo (ROSAEC MEMO), 2009.Google Scholar
- Y. Jiang, B. Adams, and D. M. German. Will my patch make it? and how fast?: case study on the Linux kernel. In Proceedings of MSR ’13, pages 101–110. IEEE Press, 2013. Google ScholarDigital Library
- S. Lessmann, B. Baesens, C. Mues, and S. Pietsch. Benchmarking classification models for software defect prediction: A proposed framework and novel findings. IEEE Trans. Softw. Eng., 34(4):485–496, July 2008. Google ScholarDigital Library
- N. McDonald and S. Goggins. Performance and participation in open source software on github. In CHI ’13 Extended Abstracts on Human Factors in Computing Systems, CHI EA ’13, pages 139–144. ACM, 2013. Google ScholarDigital Library
- A. Mockus, R. T. Fielding, and J. D. Herbsleb. Two case studies of open source software development: Apache and Mozilla. ACM Trans. Softw. Eng. Methodol., 11(3):309–346, 2002. Google ScholarDigital Library
- N. Nagappan and T. Ball. Use of relative code churn measures to predict system defect density. In Proceedings of ICSE ’05, pages 284–292. ACM, 2005. Google ScholarDigital Library
- K. Peterson. The github open source development process. Technical report, Mayo Clinic, May 2013.Google Scholar
- R. Pham, L. Singer, O. Liskin, F. Figueira Filho, and K. Schneider. Creating a shared understanding of testing culture on a social coding site. In Proceedings of ICSE ’13, pages 112–121. IEEE Press, 2013. Google ScholarDigital Library
- J. Ratzinger, M. Pinzger, and H. Gall. EQ-mine: predicting short-term defects for software evolution. In Proceedings of FASE ’07, pages 12–26. Springer-Verlag, 2007. Google ScholarDigital Library
- P. C. Rigby and C. Bird. Convergent software peer review practices. In Proceedings of FSE ’13, 2013. Google ScholarDigital Library
- P. C. Rigby and D. M. German. A preliminary examination of code review processes in open source projects. University of Victoria, Canada, Tech. Rep. DCS-305-IR, 2006.Google Scholar
- P. C. Rigby, D. M. German, and M.-A. Storey. Open source software peer review practices: a case study of the Apache server. In Proceedings of ICSE ’08, pages 541–550. ACM, 2008. Google ScholarDigital Library
- E. Shihab, C. Bird, and T. Zimmermann. The effect of branching strategies on software quality. In In Proceedings of ESEM ’12, pages 301–310. ACM, 2012. Google ScholarDigital Library
- P. Weißgerber, D. Neu, and S. Diehl. Small patches get in! In Proceedings of MSR ’08, pages 67–76. ACM, 2008. Google ScholarDigital Library
Index Terms
- An exploratory study of the pull-based software development model
Recommendations
Work practices and challenges in pull-based development: the contributor's perspective
ICSE '16: Proceedings of the 38th International Conference on Software EngineeringThe pull-based development model is an emerging way of contributing to distributed software projects that is gaining enormous popularity within the open source software (OSS) world. Previous work has examined this model by focusing on projects and their ...
A dataset for pull-based development research
MSR 2014: Proceedings of the 11th Working Conference on Mining Software RepositoriesPull requests form a new method for collaborating in distributed software development. To study the pull request distributed development model, we constructed a dataset of almost 900 projects and 350,000 pull requests, including some of the largest ...
Nudge: Accelerating Overdue Pull Requests toward Completion
Pull requests are a key part of the collaborative software development and code review process today. However, pull requests can also slow down the software development process when the reviewer(s) or the author do not actively engage with the pull ...
Comments