a n i nsight into the p ull r equests of g it h ub mohammad masudur rahman, chanchal k. roy...

13
AN INSIGHT INTO THE PULL REQUESTS OF GITHUB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11 th Working Conference on Mining Software Repositories(MSR 2014) (Challenge Track) Hyderabad, India

Upload: valentine-jones

Post on 03-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

AN INSIGHT INTO THE PULL REQUESTS OF GITHUBMohammad Masudur Rahman, Chanchal K. Roy

Department of Computer Science

University of Saskatchewan

11th Working Conference on Mining Software Repositories(MSR 2014) (Challenge Track) Hyderabad, India

Page 2: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

RESEARCH PROBLEM: HIGHER RATE OF PULL REQUEST FAILURE IN GITHUB

Base repo.

Forked repos.

Pull Requests

• 88 Base repositories• 103,192+ Fork repos.• 20,142 developers• 78,955 Pull requests made in 4+ years.• Only 42.95% pull request commits merged• About 57.05% pull requests failed.

RQ: Why and how did those pull requests fail?

Page 3: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

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

Page 4: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

WHICH TECHNICAL PROBLEMS DID HINDER THE SUCCESS OF THE PULL REQUESTS?

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%)

Arrays & functions (31.69%)

Recursion & Refactoring (18.35%)

Database query execution (16.16%)

Page 5: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

DID AN AVERAGE PROJECT FROM DIFFERENT PROGRAMMING LANGUAGES SHOW DIFFERENT BEHAVIOUR IN TERMS OF PULL REQUEST?

•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)

PHP(42.93/m)

Ruby (57.03/m)

Java(15.96/m)

Page 6: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

WAS THERE A DOMAIN-SPECIFIC TREND IN PULL REQUESTS?

•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)

IDE (28.84/

m)

Framework

(36.16/m)

Page 7: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

HOW DID PROJECT AGE AFFECT PULL REQUEST RATE?

2012-2013 (43.12/m)

2009-2010 (19.34/m)

Page 8: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

HOW DID PROJECT MATURITY AFFECT THE PULL REQUEST RATE?

Forks: 3000-6800 (78.63/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)

Forks: 1500-2000 (18/m)

Page 9: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

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)

Page 10: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

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)

Page 11: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 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.

Page 12: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

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 activities in terms of pull requests.

Page 13: A N I NSIGHT INTO THE P ULL R EQUESTS OF G IT H UB Mohammad Masudur Rahman, Chanchal K. Roy Department of Computer Science University of Saskatchewan 11

THANK YOU!!