1 / 13

An Insight into the Pull Requests of GitHub

11 th Working Conference on Mining Software Repositories(MSR 2014) (Challenge Track) Hyderabad, India. An Insight into the Pull Requests of GitHub. Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan.

Télécharger la présentation

An Insight into the Pull Requests of GitHub

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 11th Working Conference on Mining Software Repositories(MSR 2014) (Challenge Track) Hyderabad, India An Insight into the Pull Requests of GitHub Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan

  2. Research Problem: Higher Rate of Pull Request Failure in GitHub • 88Base repositories • 103,192+ Fork repos. • 20,142 developers • 78,955Pull requests made in 4+ years. • Only 42.95% pull request commits merged • About 57.05% pull requests failed. Base repo. Pull Requests Forked repos. RQ: Why and how did those pull requests fail?

  3. Aspects of Study • Studied and analyzed 7 aspects related to technical problems in the pull requests, programming languages, projects and developers. • Technical issues in pull request commits • Programming language • Application domain • Age of project • Maturity of project • Number of developers • Experience of developers

  4. Which Technical Problems did Hinder the Success of the Pull Requests? Recursion & Refactoring (18.35%) Arrays & functions (31.69%) Database query execution (16.16%) 2. Recursion & Refactoring (7.57%, 10.78%) 3. Database query execution (6.98%, 9.18%) 16. Arrays & functions (14.40%, 17.29%) 29. Actor model (7.11%, 5.11%) 31. OOP paradigm (7.12%, 9.17%) 33. Space & indentation (3.07%, 7.32%)

  5. Did an Average Project from Different Programming Languages Show Different Behaviour in Terms of Pull Request? Ruby (57.03/m) PHP(42.93/m) Java(15.96/m) • Ruby (16.92/m, 40.11/m) • PHP (21.72/m, 21.21/m) • Java (2.75/m, 13.21/m) • Scala (10.39/m, 4.08/m) • C (11.89/m, 6.72/m) • JavaScript (5.92/m, 14.87/m)

  6. Was there a Domain-Specific Trend in Pull Requests? Framework (36.16/m) IDE (28.84/m) • Framework (20.67/m, 15.49/m) • IDE (19.43/m, 9.31/m) • Client Apps (10.27/m, 6.37/m) • Database (1.40/m, 3.94/m) • Statistics(1.15/m, 0.80/m) • Library(6.59/m, 9.18/m)

  7. How did Project Age Affect Pull Request Rate? 2012-2013 (43.12/m) 2009-2010 (19.34/m)

  8. How did Project Maturity Affect the Pull Request Rate? Forks: 3000-6800 (78.63/m) Forks: 1500-2000 (18/m) • Forks: 500-1000 (7.43/m, 8.12/m) • Forks: 2000-2500 (25.02/m, 35.29/m) • Forks: 2500-3000 (18.01/m, 23.85/m) • Forks: 3000-6800 (17.61/m, 61.02/m)

  9. How did No. of Developers of a Project Matter in Pull Request Rate? Developer: 4000-4500 (247.1/m) • #Developers: 400-500 (12.17/m, 15.39/m) • #Developers: 500-1000 (25.14/m, 43.39/m) • #Developers: 1000-2000 (73.23/m, 48.11/m) • #Developers: 4000-4500 (2.23/m, 244.88/m)

  10. Did Developer Experience Matter in Pull Request Rate? Experience: 50-60 months (390.54/m) • Dev. Experience: 30-40 months (297.56/m, 222.14/m) • Dev. Experience: 50-60 months (55.75/m, 334.79/m) • Dev. Experience: 60-70 months (84.17/m, 65.63/m)

  11. Take-Away Messages • 57.05% of the pull requests failed. The issues that failed the requests to merge are related to a limited number of topics—recursion & refactoring, database query execution, arrays & functions and so on. • Projects written in Java, JavaScript and Ruby received exceptionally higher no. of failed pull requests. PHP projects received almost equal no. of successful and unsuccessful pull requests on average per month. • Projects from IDE and Framework domain showed the maximum activities in terms of pull requests.

  12. Take-Away Messages • As the age of a project increases, both merged and failed pull request rates increase almost proportionally. • With the increase in forks, the average no. of pull requests per month did not increase regularly. However, projects with 2000+ forks received increased amount of failed pull requests. • With new participation(developers) in project, no. of pull requests per month did not increase regularly. However, a project with 4000+ developers received excessive no. of failed pull requests. • Projects with developers of 20-50 months experience showed the maximum activitiesin terms of pull requests.

  13. Thank You!!

More Related