impact of developer reputa1on on code review outcomes in oss projects: an empirical inves1ga1on
TRANSCRIPT
Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects:
An Empirical Inves1ga1on
Amiangshu Bosu, Jeffrey C. Carver
Department of Computer Science University of Alabama
Open Source SoAware Communi1es
2
What is the moAvaAon to contribute?
ReputaAon among teammates
Problem
3
Project Contribute
ReputaAon
Effort Expended
PosAng Defects
Mailing List
Fixing Bugs
User Support
Code Review
Code Changes
Research Goal
4
Project Contribute
ReputaAon
Effort Expended
PosAng Defects
Mailing List
Fixing Bugs
User Support
Code Review
Code Changes
Measuring Reputa1on
5
1 2
0
9
8 7
6
5
4
3
Code Review Process
6
Repository
Writes Code
Reviews Code
Edits Code
Reviews Code
…
Approval
Merge
Abandon
Review Request
Accept
Hypotheses
8
H1: Core developers have shorter first feedback interval than peripheral developers
Repository
Writes Code
Reviews Code
Edits Code
Reviews Code
…
Approval
Merge
Abandon
Review Request
Accept
First Feedback Interval Review
Interval
H2: Core developers have shorter review interval than peripheral developers
H4: Core developers are able to get change accepted with fewer patchsets than peripheral developers
H3: Core developers have higher acceptance rate than peripheral developers
Detec1ng Core and Peripheral Developers
9
BorgaW-‐EvereY Algorithm
Detec1ng Core and Peripheral Developers
10
BorgaW-‐EvereY Algorithm
MulA-‐Core Networks
Developed new approach
Detec1ng Core and Periphery Developers
11
1
2
0
9 8
7
6
5
4
3
Centrality Measures
Core Developers
Degree Betweenness Closeness Eigenvector Pagerank Eccentricity
Combine with K-‐means clustering algorithm
CIK Method
Valida1on of CIK
12
1. Correctly classifies nodes from BorgaW-‐EvereY example
2. % of core members idenAfied consistent with prior OSS studies
3. % code contribuAons by core members is consistent with prior OSS studies
4. Visual ValidaAon
Results
13
Project Demographics
14
Project Domain Technology Number of code reviews
Chromium OS OperaAng System C, C++ 49,855
ITK/VTK VisualizaAon Toolkit C++ 13,207
LibreOffice Office applicaAon suite C++ 6,347
OmapZoom Mobile development plaiorm
C 32,930
OpenStack Cloud compuAng Python, JavaScript 59,125
Ovirt Virtual machine management
Java 23,316
Qt UI Framework C, C++ 71,732
Typo3 Content management system
PHP, JavaScript 24,374
H1: First Feedback Interval
15 All Differences Significant
H1: Experience vs. First Feedback Interval
16
H2: Review Interval
17 All Differences Significant
H2: Experience vs. Review Interval
18
H3: Acceptance Rate
19
H3: Acceptance Rate vs. Experience
20
H4: Number of Patchsets
21
Results Summary and Discussion
23
H1: Core developers have shorter first feedback interval than peripheral developers
Repository
Writes Code
Reviews Code
Edits Code
Reviews Code
…
Approval
Merge
Abandon
Review Request
Accept
First Feedback Interval Review
Interval
H2: Core developers have shorter review interval than peripheral developers
H4: Core developers are able to get change accepted with fewer patchsets than peripheral developers
H3: Core developers have higher acceptance rate than peripheral developers
Contribu1ons
25
Code Review Social Network
ReputaAon Code Review
CIK Method
Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects:
An Empirical Inves1ga1on
[email protected], [email protected]
hMp://asbosu.students.cs.ua.edu/sna-‐code-‐review/