Will My Patch Make It?
And How Fast?
Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montréal)
Daniel M. German (University ...
I do hold out hope that Google does
come around and works to fix their
codebase to get it merged upstream to
stop the huge ...
Integration Process

3
Sunday, 19 May, 13

3
Integration Process

Reviewing

Integration

Staging

3
Sunday, 19 May, 13

3
Integration Process

Reviewing

Integration

Staging

3
Sunday, 19 May, 13

3
Integration Process

contributor 1

contributor 2

contributor 3

Reviewing

Integration

Staging

3
Sunday, 19 May, 13

3
Integration Process

contributor 1

contributor 2

contributor 3

Reviewing

Integration

Staging

3
Sunday, 19 May, 13

3
Integration Process

contributor 1

contributor 2

contributor 3

linux-usb

lkml

linux-scsi

Reviewing

Integration

Sta...
Integration Process

contributor 1

contributor 2

contributor 3

linux-usb

lkml

linux-scsi

Reviewing

Integration

Sta...
Integration Process

contributor 1

contributor 2

contributor 3

linux-usb

lkml

linux-scsi

Reviewing

Integration

Sta...
Integration Process

contributor 1

contributor 2

contributor 3

linux-usb

lkml

linux-scsi

Reviewing

Integration

Sta...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

contributor 3

lkml

linux-scsi

Revie...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

contributor 3

lkml

linux-scsi

Revie...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

contributor 3

lkml

linux-scsi

Revie...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

contributor 3

lkml

linux-scsi

Revie...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Integration Process

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Research Questions

RQ1:
How many
patches are
merged?

RQ2:
What kind of
patch is merged
more likely?

RQ 3:
What kind of
...
Setup Of Case Study

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Setup Of Case Study

contributor 1

linux-usb
subsystem
maintainer1

contributor 2

lkml
maintainer

contributor 3

linux-...
Setup Of Case Study

linux-usb

lkml
Linus Torvalds

linux-scsi

Reviewing

Integration

Staging

5
Sunday, 19 May, 13

5
Setup Of Case Study

linux-usb

lkml
Linus Torvalds

linux-scsi

Reviewing

Integration

Staging

5
Sunday, 19 May, 13

5
Setup Of Case Study

Linus Torvalds

Reviewing

Integration

Staging

5
Sunday, 19 May, 13

5
Setup Of Case Study
email1

email patch1

email2

email patch2
Linus Torvalds

email3

...

email patch3

Reviewing

Integ...
Setup Of Case Study
email1

email patch1

email2

email patch2

email3

email patch3

...

Reviewing

Integration

Staging...
Setup Of Case Study
email1

email patch1

commit patch1

commit1

email2

email patch2

commit patch2

commit2

email3

em...
Setup Of Case Study
email1

email patch1

checksum1

commit patch1

commit1

email2

email patch2

checksum2

commit patch...
Setup Of Case Study
email1

email patch1

checksum1

commit patch1

commit1

email2

email patch2

checksum2

commit patch...
Experience

Commit

5 Dimensions of
29 Patch Metrics

Review

Patch
6
Sunday, 19 May, 13

Email

E
6
Building Decision Trees
size: LOC > 50

Is this first patch in thread?

not accepted

Number of reviewers > 3 ?

Number of ...
RQ1:
How many
patches are
merged?

RQ2:
What kind of
patch is merged
more likely?

RQ 3:
What kind of
patch is
accepted fa...
RQ1:
How many
patches are
merged?

RQ2:
What kind of
patch is merged
more likely?

RQ 3:
What kind of
patch is
accepted fa...
RQ1:33% of patches make it!
accepted/rejected patches
69.26
69.26%

R
E
J
E
C
T

120000
% accepted by linus
% rejected by ...
80

RQ1:Requiring 1~6months!

40

60

within_half_year
within_year
took_ages

0

Text

%
accepted
patches

within_week
wit...
RQ1: reviewing time speeds up
& integration slows down

reviewing time
Sunday, 19 May, 13

12

integration time
12
RQ1:
How many
patches are
merged?

RQ 3:
RQ2:
What kind of
What kind of
patch is
patch is merged
accepted faster?
more lik...
RQ2: What kind of patch is
merged more likely?

precision:73%
recall:68.47%

14
Sunday, 19 May, 13

14
RQ2: What kind of patch is
merged more likely?

precision:73%
recall:68.47%

14
Sunday, 19 May, 13

14
RQ2: What kind of patch is
merged more likely?

precision:73%
recall:68.47%

14
Sunday, 19 May, 13

14
RQ2: What kind of patch is
merged more likely?

precision:73%
recall:68.47%

14
Sunday, 19 May, 13

14
RQ2: What kind of patch is
merged more likely?

precision:73%
recall:68.47%

14
Sunday, 19 May, 13

14
RQ1:
How many
patches are
merged?

RQ 3:
RQ2:
What kind of
What kind of
patch is
patch is merged
accepted faster?
more lik...
RQ3: What kind of patch is
accepted faster?

16
Sunday, 19 May, 13

16
RQ3: What kind of patch is
accepted faster?

16
Sunday, 19 May, 13

16
RQ3: What kind of patch is
accepted faster?

16
Sunday, 19 May, 13

16
RQ3: What kind of patch is
accepted faster?

16
Sunday, 19 May, 13

16
RQ3: What kind of patch is
accepted faster?

16
Sunday, 19 May, 13

16
RQ3: What kind of patch is
accepted faster?

16
Sunday, 19 May, 13

16
RQ3: What kind of patch is
accepted faster?

Acceptance is
determined by
integration
phase

16
Sunday, 19 May, 13

16
17
Sunday, 19 May, 13

17
17
Sunday, 19 May, 13

17
% accepted by linus
% rejected by linus

66.45
66.45%

100000

percentage of patches

67.21%
67.21

66.13%
66.13

67.17
67...
% accepted by linus
% rejected by linus

66.45
66.45%

100000

percentage of patches

67.21%
67.21

66.13%
66.13

67.17
67...
% accepted by linus
% rejected by linus

66.45
66.45%

100000

percentage of patches

67.21%
67.21

66.13%
66.13

67.17
67...
Upcoming SlideShare
Loading in …5
×

130426 yujuan jiang - will my patch make it and how fast

184 views

Published on

Software bugs, software patches, acceptance

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
184
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

130426 yujuan jiang - will my patch make it and how fast

  1. 1. Will My Patch Make It? And How Fast? Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montréal) Daniel M. German (University of Victoria ) 1 Sunday, 19 May, 13 1
  2. 2. I do hold out hope that Google does come around and works to fix their codebase to get it merged upstream to stop the huge blockage that they have now caused in a large number of embedded Linux hardware companies […] But I need the help of the Google developers to make it happen, without them, nothing can change. Greg Kroah-Hartman http://www.kroah.com/log/linux/android-kernel-problems.html 2 Sunday, 19 May, 13 2
  3. 3. Integration Process 3 Sunday, 19 May, 13 3
  4. 4. Integration Process Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  5. 5. Integration Process Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  6. 6. Integration Process contributor 1 contributor 2 contributor 3 Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  7. 7. Integration Process contributor 1 contributor 2 contributor 3 Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  8. 8. Integration Process contributor 1 contributor 2 contributor 3 linux-usb lkml linux-scsi Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  9. 9. Integration Process contributor 1 contributor 2 contributor 3 linux-usb lkml linux-scsi Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  10. 10. Integration Process contributor 1 contributor 2 contributor 3 linux-usb lkml linux-scsi Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  11. 11. Integration Process contributor 1 contributor 2 contributor 3 linux-usb lkml linux-scsi Reviewing Integration Staging 3 Sunday, 19 May, 13 3
  12. 12. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 contributor 3 lkml linux-scsi Reviewing subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  13. 13. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 contributor 3 lkml linux-scsi Reviewing subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  14. 14. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 contributor 3 lkml linux-scsi Reviewing subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  15. 15. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 contributor 3 lkml linux-scsi Reviewing subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  16. 16. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  17. 17. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  18. 18. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing Linus Torvalds subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  19. 19. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing Linus Torvalds subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  20. 20. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing Linus Torvalds linux 3.5 subsystem maintainer1 Integration Staging 3 Sunday, 19 May, 13 3
  21. 21. Research Questions RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 4 Sunday, 19 May, 13 4
  22. 22. Setup Of Case Study contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing Linus Torvalds linux 3.5 subsystem maintainer1 Integration Staging 5 Sunday, 19 May, 13 5
  23. 23. Setup Of Case Study contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer contributor 3 linux-scsi Reviewing Linus Torvalds linux 3.5 subsystem maintainer1 Integration Staging 5 Sunday, 19 May, 13 5
  24. 24. Setup Of Case Study linux-usb lkml Linus Torvalds linux-scsi Reviewing Integration Staging 5 Sunday, 19 May, 13 5
  25. 25. Setup Of Case Study linux-usb lkml Linus Torvalds linux-scsi Reviewing Integration Staging 5 Sunday, 19 May, 13 5
  26. 26. Setup Of Case Study Linus Torvalds Reviewing Integration Staging 5 Sunday, 19 May, 13 5
  27. 27. Setup Of Case Study email1 email patch1 email2 email patch2 Linus Torvalds email3 ... email patch3 Reviewing Integration Staging 5 Sunday, 19 May, 13 5
  28. 28. Setup Of Case Study email1 email patch1 email2 email patch2 email3 email patch3 ... Reviewing Integration Staging 5 Sunday, 19 May, 13 5
  29. 29. Setup Of Case Study email1 email patch1 commit patch1 commit1 email2 email patch2 commit patch2 commit2 email3 email patch3 commit patch3 commit3 ... Reviewing Integration ... Staging 5 Sunday, 19 May, 13 5
  30. 30. Setup Of Case Study email1 email patch1 checksum1 commit patch1 commit1 email2 email patch2 checksum2 commit patch2 commit2 email3 email patch3 commit patch3 commit3 ... Reviewing checksum3 ... Integration ... Staging 5 Sunday, 19 May, 13 5
  31. 31. Setup Of Case Study email1 email patch1 checksum1 commit patch1 commit1 email2 email patch2 checksum2 commit patch2 commit2 email3 email patch3 commit patch3 commit3 ... Reviewing checksum3 ... Integration ... Staging 5 Sunday, 19 May, 13 5
  32. 32. Experience Commit 5 Dimensions of 29 Patch Metrics Review Patch 6 Sunday, 19 May, 13 Email E 6
  33. 33. Building Decision Trees size: LOC > 50 Is this first patch in thread? not accepted Number of reviewers > 3 ? Number of review messages > 3 ? accepted not accepted Decision Tree 7 Sunday, 19 May, 13 7
  34. 34. RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 8 Sunday, 19 May, 13 8
  35. 35. RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 9 Sunday, 19 May, 13 9
  36. 36. RQ1:33% of patches make it! accepted/rejected patches 69.26 69.26% R E J E C T 120000 % accepted by linus % rejected by linus 66.45 66.45% percentage of patches # of patches 100000 67.21% 67.21 66.13 66.13% 67.17 67.17% 80000 72.97% 72.97 60000 40000 33.55 33.55% 71.3 71.3% 32.83 32.83% 20000 71.37 71.73% 0 33.87 33.87% 32.79 32.79% 27.03 27.03% 28.7 28.7% 28.63% 28.63 2005 Sunday, 19 May, 13 30.74 30.74% 2006 2007 10 2008 2009 2010 2011 A C C E P T 2012 10
  37. 37. 80 RQ1:Requiring 1~6months! 40 60 within_half_year within_year took_ages 0 Text % accepted patches within_week within_month within_quarter 20 percentage of accepted patches of each year instantly within_hour within_day 2005 2006 2007 11 Sunday, 19 May, 13 2008 2009 2010 2011 2012 year 11
  38. 38. RQ1: reviewing time speeds up & integration slows down reviewing time Sunday, 19 May, 13 12 integration time 12
  39. 39. RQ1: How many patches are merged? RQ 3: RQ2: What kind of What kind of patch is patch is merged accepted faster? more likely? 13 Sunday, 19 May, 13 13
  40. 40. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Sunday, 19 May, 13 14
  41. 41. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Sunday, 19 May, 13 14
  42. 42. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Sunday, 19 May, 13 14
  43. 43. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Sunday, 19 May, 13 14
  44. 44. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Sunday, 19 May, 13 14
  45. 45. RQ1: How many patches are merged? RQ 3: RQ2: What kind of What kind of patch is patch is merged accepted faster? more likely? 15 Sunday, 19 May, 13 15
  46. 46. RQ3: What kind of patch is accepted faster? 16 Sunday, 19 May, 13 16
  47. 47. RQ3: What kind of patch is accepted faster? 16 Sunday, 19 May, 13 16
  48. 48. RQ3: What kind of patch is accepted faster? 16 Sunday, 19 May, 13 16
  49. 49. RQ3: What kind of patch is accepted faster? 16 Sunday, 19 May, 13 16
  50. 50. RQ3: What kind of patch is accepted faster? 16 Sunday, 19 May, 13 16
  51. 51. RQ3: What kind of patch is accepted faster? 16 Sunday, 19 May, 13 16
  52. 52. RQ3: What kind of patch is accepted faster? Acceptance is determined by integration phase 16 Sunday, 19 May, 13 16
  53. 53. 17 Sunday, 19 May, 13 17
  54. 54. 17 Sunday, 19 May, 13 17
  55. 55. % accepted by linus % rejected by linus 66.45 66.45% 100000 percentage of patches 67.21% 67.21 66.13% 66.13 67.17 67.17% 80000 72.97% 72.97 60000 40000 33.55 33.55% 71.3 71.3% 33.87 33.87% 2009 32.83 32.83% 32.79 32.79% 2010 30.74 30.74% 20000 27.03 27.03% 71.73% 71.37 28.7 28.7% 0 28.63% 28.63 2005 2006 2007 2008 2011 2012 year 17 Sunday, 19 May, 13 17
  56. 56. % accepted by linus % rejected by linus 66.45 66.45% 100000 percentage of patches 67.21% 67.21 66.13% 66.13 67.17 67.17% 80000 72.97% 72.97 60000 40000 33.55 33.55% 71.3 71.3% 33.87 33.87% 2009 32.83 32.83% 32.79 32.79% 2010 30.74 30.74% 20000 27.03 27.03% 71.73% 71.37 28.7 28.7% 0 28.63% 28.63 2005 2006 2007 2008 2011 2012 year 17 Sunday, 19 May, 13 17
  57. 57. % accepted by linus % rejected by linus 66.45 66.45% 100000 percentage of patches 67.21% 67.21 66.13% 66.13 67.17 67.17% 80000 72.97% 72.97 60000 40000 33.55 33.55% 71.3 71.3% 33.87 33.87% 2009 32.83 32.83% 32.79 32.79% 2010 30.74 30.74% 20000 27.03 27.03% 71.73% 71.37 28.7 28.7% 0 28.63% 28.63 2005 2006 2007 2008 2011 2012 year 17 Sunday, 19 May, 13 17

×