impact of developer reputa1on on code review outcomes in oss projects: an empirical inves1ga1on

23
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

Upload: jeffcarver32

Post on 29-Jul-2015

20 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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  

Page 2: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Open  Source  SoAware  Communi1es

2  

What  is  the  moAvaAon  to  contribute?  

ReputaAon  among  teammates  

Page 3: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Problem

3  

Project  Contribute  

ReputaAon  

Effort    Expended  

PosAng  Defects  

Mailing  List  

Fixing  Bugs  

User  Support  

Code  Review  

Code  Changes  

Page 4: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Research  Goal

4  

Project  Contribute  

ReputaAon  

Effort    Expended  

PosAng  Defects  

Mailing  List  

Fixing  Bugs  

User  Support  

Code  Review  

Code  Changes  

Page 5: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Measuring  Reputa1on

5  

1  2  

0  

9  

8  7  

6  

5  

4  

3  

Page 6: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Code  Review  Process

6  

Repository  

Writes    Code  

Reviews  Code  

Edits  Code  

Reviews  Code  

…  

Approval  

Merge  

Abandon  

Review    Request  

Accept  

Page 7: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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  

Page 8: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Detec1ng  Core  and  Peripheral  Developers

9  

BorgaW-­‐EvereY  Algorithm  

Page 9: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Detec1ng  Core  and  Peripheral  Developers

10  

BorgaW-­‐EvereY  Algorithm  

MulA-­‐Core  Networks  

Developed  new  approach  

Page 10: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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  

Page 11: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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  

Page 12: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Results

13  

Page 13: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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  

Page 14: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H1:  First  Feedback  Interval

15  All  Differences  Significant  

Page 15: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H1:  Experience  vs.  First  Feedback  Interval

16  

Page 16: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H2:  Review  Interval

17  All  Differences  Significant  

Page 17: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H2:  Experience  vs.  Review  Interval

18  

Page 18: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H3:  Acceptance  Rate

19  

Page 19: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H3:  Acceptance  Rate  vs.  Experience

20  

Page 20: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

H4:  Number  of  Patchsets

21  

Page 21: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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  

Page 22: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

Contribu1ons

25  

Code  Review  Social  Network  

ReputaAon   Code  Review  

CIK  Method  

Page 23: Impact of Developer Reputa1on on Code Review Outcomes in OSS Projects: An Empirical Inves1ga1on

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/