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

Post on 29-Jul-2015

20 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

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

asbosu@ua.edu,  carver@cs.ua.edu      

hMp://asbosu.students.cs.ua.edu/sna-­‐code-­‐review/      

top related