SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montréal)
Daniel M. German (University ofVictoria )
Will My Patch Make It?
And How Fast?
1
1Sunday, 19 May, 13
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.
http://www.kroah.com/log/linux/android-kernel-problems.html
2
Greg
Kroah-Hartman
2Sunday, 19 May, 13
Integration Process
3
3Sunday, 19 May, 13
Integration Process
3
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
maintainer
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
maintainer
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
maintainer Linus Torvalds
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
maintainer Linus Torvalds
3Sunday, 19 May, 13
Integration Process
3
contributor 1
contributor 2
contributor 3
linux-usb
linux-scsi
lkml
linux 3.5
subsystem
maintainer1
subsystem
maintainer1
Reviewing Integration Staging
maintainer Linus Torvalds
3Sunday, 19 May, 13
Research Questions
4
RQ1:
How many
patches are
merged?
RQ2:
What kind of
patch is merged
more likely?
RQ 3:
What kind of
patch is
accepted faster?
4Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
Linus Torvalds
linux-usb
linux-scsi
lkml
linux 3.5
contributor 1
contributor 2
contributor 3
subsystem
maintainer1
subsystem
maintainer1
maintainer
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
Linus Torvalds
linux-usb
linux-scsi
lkml
linux 3.5
contributor 1
contributor 2
contributor 3
subsystem
maintainer1
subsystem
maintainer1
maintainer
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
Linus Torvalds
linux-usb
linux-scsi
lkml
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
Linus Torvalds
linux-usb
linux-scsi
lkml
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
Linus Torvalds
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
Linus Torvalds
email1
email3
email2 email patch2
email patch1
email patch3
...
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
email1
email3
email2 email patch2
email patch1
email patch3
...
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
email1
email3
email2 email patch2
email patch1
email patch3
...
commit3
commit2
commit1commit patch1
commit patch2
commit patch3
...
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
email1
email3
email2 email patch2
email patch1
email patch3
...
commit3
commit2
commit1commit patch1
commit patch2
commit patch3
...
checksum1
checksum3
checksum2
...
5Sunday, 19 May, 13
Setup Of Case Study
5
Reviewing Integration Staging
email1
email3
email2 email patch2
email patch1
email patch3
...
commit3
commit2
commit1commit patch1
commit patch2
commit patch3
...
checksum1
checksum3
checksum2
...
5Sunday, 19 May, 13
Experience
Email
Review
E
Patch
Commit
6
5 Dimensions of
29 Patch Metrics
6Sunday, 19 May, 13
size: LOC > 50
Number of reviewers > 3 ?
not accepted Number of review messages > 3 ?
Is this first patch in thread?
not acceptedaccepted
Decision Tree
Building Decision Trees
7
7Sunday, 19 May, 13
8
RQ1:
How many
patches are
merged?
RQ2:
What kind of
patch is merged
more likely?
RQ 3:
What kind of
patch is
accepted faster?
8Sunday, 19 May, 13
9
RQ1:
How many
patches are
merged?
RQ2:
What kind of
patch is merged
more likely?
RQ 3:
What kind of
patch is
accepted faster?
9Sunday, 19 May, 13
RQ1:33% of patches make it!
10
2005 2006 2007 2008 2009 2010 2011 2012
accepted/rejected patches
percentageofpatches
0
20000
40000
60000
80000
100000
120000
28.63
28.7
27.03
32.83 32.79 33.87
33.55
30.74
71.37
71.3
72.97
67.17
67.21 66.13
66.45
69.26
% accepted by linus
% rejected by linus
#ofpatches
72.97%
67.17%
71.3%
71.73%
69.26%
66.45%
66.13%67.21%
28.63%
28.7%
32.79%
32.83%
27.03%
30.74%33.55%
33.87%
A
C
C
E
P
T
R
E
J
E
C
T
10Sunday, 19 May, 13
RQ1:Requiring 1~6months!
11
2005 2006 2007 2008 2009 2010 2011 2012
year
percentageofacceptedpatchesofeachyear
020406080
instantly
within_hour
within_day
within_week
within_month
within_quarter
within_half_year
within_year
took_ages
Text
%
accepted
patches
11Sunday, 19 May, 13
RQ1: reviewing time speeds up
& integration slows down
12
reviewing time integration time
12Sunday, 19 May, 13
13
RQ1:
How many
patches are
merged?
RQ2:
What kind of
patch is merged
more likely?
RQ 3:
What kind of
patch is
accepted faster?
13Sunday, 19 May, 13
RQ2: What kind of patch is
merged more likely?
precision:73%
recall:68.47%
14
14Sunday, 19 May, 13
RQ2: What kind of patch is
merged more likely?
precision:73%
recall:68.47%
14
14Sunday, 19 May, 13
RQ2: What kind of patch is
merged more likely?
precision:73%
recall:68.47%
14
14Sunday, 19 May, 13
RQ2: What kind of patch is
merged more likely?
precision:73%
recall:68.47%
14
14Sunday, 19 May, 13
RQ2: What kind of patch is
merged more likely?
precision:73%
recall:68.47%
14
14Sunday, 19 May, 13
15
RQ1:
How many
patches are
merged?
RQ2:
What kind of
patch is merged
more likely?
RQ 3:
What kind of
patch is
accepted faster?
15Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
16Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
16Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
16Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
16Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
16Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
16Sunday, 19 May, 13
RQ3: What kind of patch is
accepted faster?
16
Acceptance is
determined by
integration
phase
16Sunday, 19 May, 13
17
17Sunday, 19 May, 13
17
17Sunday, 19 May, 13
2005 2006 2007 2008 2009 2010 2011 2012
year
percentageofpatches
0
20000
40000
60000
80000
100000
28.63
28.7
27.03
32.83 32.79 33.87
33.55
30.74
71.37
71.3
72.97
67.17
67.21 66.13
66.45% accepted by linus
% rejected by linus
72.97%
67.17%
71.3%
71.73%
66.45%
66.13%67.21%
28.63%
28.7%
32.79%
32.83%
27.03%
30.74%33.55%
33.87%
17
17Sunday, 19 May, 13
2005 2006 2007 2008 2009 2010 2011 2012
year
percentageofpatches
0
20000
40000
60000
80000
100000
28.63
28.7
27.03
32.83 32.79 33.87
33.55
30.74
71.37
71.3
72.97
67.17
67.21 66.13
66.45% accepted by linus
% rejected by linus
72.97%
67.17%
71.3%
71.73%
66.45%
66.13%67.21%
28.63%
28.7%
32.79%
32.83%
27.03%
30.74%33.55%
33.87%
17
17Sunday, 19 May, 13
2005 2006 2007 2008 2009 2010 2011 2012
year
percentageofpatches
0
20000
40000
60000
80000
100000
28.63
28.7
27.03
32.83 32.79 33.87
33.55
30.74
71.37
71.3
72.97
67.17
67.21 66.13
66.45% accepted by linus
% rejected by linus
72.97%
67.17%
71.3%
71.73%
66.45%
66.13%67.21%
28.63%
28.7%
32.79%
32.83%
27.03%
30.74%33.55%
33.87%
17
17Sunday, 19 May, 13

Más contenido relacionado

Destacado

Achievement Motivation Training
Achievement Motivation TrainingAchievement Motivation Training
Achievement Motivation TrainingHRD Forum
 
Materi Pelatihan Motivasi Kerja Karyawan
Materi Pelatihan Motivasi Kerja Karyawan Materi Pelatihan Motivasi Kerja Karyawan
Materi Pelatihan Motivasi Kerja Karyawan Yodhia Antariksa
 
Motivasi Diri - MT
Motivasi Diri - MTMotivasi Diri - MT
Motivasi Diri - MTaggna354
 
Presentasi motivasi diri
Presentasi motivasi diriPresentasi motivasi diri
Presentasi motivasi diriRona Binham
 
Presentasi motivasi kerja
Presentasi motivasi kerjaPresentasi motivasi kerja
Presentasi motivasi kerjaPrizky Sari
 

Destacado (8)

Hard Skills vs Soft Skills
Hard Skills vs Soft SkillsHard Skills vs Soft Skills
Hard Skills vs Soft Skills
 
Achievement Motivation Training
Achievement Motivation TrainingAchievement Motivation Training
Achievement Motivation Training
 
Materi Pelatihan Motivasi Kerja Karyawan
Materi Pelatihan Motivasi Kerja Karyawan Materi Pelatihan Motivasi Kerja Karyawan
Materi Pelatihan Motivasi Kerja Karyawan
 
Manajemen waktu
Manajemen waktuManajemen waktu
Manajemen waktu
 
Motivasi Diri - MT
Motivasi Diri - MTMotivasi Diri - MT
Motivasi Diri - MT
 
Presentasi motivasi diri
Presentasi motivasi diriPresentasi motivasi diri
Presentasi motivasi diri
 
Motivasi Kerja
Motivasi KerjaMotivasi Kerja
Motivasi Kerja
 
Presentasi motivasi kerja
Presentasi motivasi kerjaPresentasi motivasi kerja
Presentasi motivasi kerja
 

Último

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Último (20)

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

Will My Patch Make It? And How Fast?

  • 1. Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montréal) Daniel M. German (University ofVictoria ) Will My Patch Make It? And How Fast? 1 1Sunday, 19 May, 13
  • 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. http://www.kroah.com/log/linux/android-kernel-problems.html 2 Greg Kroah-Hartman 2Sunday, 19 May, 13
  • 4. Integration Process 3 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 5. Integration Process 3 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 6. Integration Process 3 contributor 1 contributor 2 contributor 3 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 7. Integration Process 3 contributor 1 contributor 2 contributor 3 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 8. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml Reviewing Integration Staging 3Sunday, 19 May, 13
  • 9. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml Reviewing Integration Staging 3Sunday, 19 May, 13
  • 10. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml Reviewing Integration Staging 3Sunday, 19 May, 13
  • 11. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml Reviewing Integration Staging 3Sunday, 19 May, 13
  • 12. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 13. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 14. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 15. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging 3Sunday, 19 May, 13
  • 16. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer 3Sunday, 19 May, 13
  • 17. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer 3Sunday, 19 May, 13
  • 18. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer Linus Torvalds 3Sunday, 19 May, 13
  • 19. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer Linus Torvalds 3Sunday, 19 May, 13
  • 20. Integration Process 3 contributor 1 contributor 2 contributor 3 linux-usb linux-scsi lkml linux 3.5 subsystem maintainer1 subsystem maintainer1 Reviewing Integration Staging maintainer Linus Torvalds 3Sunday, 19 May, 13
  • 21. Research Questions 4 RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 4Sunday, 19 May, 13
  • 22. Setup Of Case Study 5 Reviewing Integration Staging Linus Torvalds linux-usb linux-scsi lkml linux 3.5 contributor 1 contributor 2 contributor 3 subsystem maintainer1 subsystem maintainer1 maintainer 5Sunday, 19 May, 13
  • 23. Setup Of Case Study 5 Reviewing Integration Staging Linus Torvalds linux-usb linux-scsi lkml linux 3.5 contributor 1 contributor 2 contributor 3 subsystem maintainer1 subsystem maintainer1 maintainer 5Sunday, 19 May, 13
  • 24. Setup Of Case Study 5 Reviewing Integration Staging Linus Torvalds linux-usb linux-scsi lkml 5Sunday, 19 May, 13
  • 25. Setup Of Case Study 5 Reviewing Integration Staging Linus Torvalds linux-usb linux-scsi lkml 5Sunday, 19 May, 13
  • 26. Setup Of Case Study 5 Reviewing Integration Staging Linus Torvalds 5Sunday, 19 May, 13
  • 27. Setup Of Case Study 5 Reviewing Integration Staging Linus Torvalds email1 email3 email2 email patch2 email patch1 email patch3 ... 5Sunday, 19 May, 13
  • 28. Setup Of Case Study 5 Reviewing Integration Staging email1 email3 email2 email patch2 email patch1 email patch3 ... 5Sunday, 19 May, 13
  • 29. Setup Of Case Study 5 Reviewing Integration Staging email1 email3 email2 email patch2 email patch1 email patch3 ... commit3 commit2 commit1commit patch1 commit patch2 commit patch3 ... 5Sunday, 19 May, 13
  • 30. Setup Of Case Study 5 Reviewing Integration Staging email1 email3 email2 email patch2 email patch1 email patch3 ... commit3 commit2 commit1commit patch1 commit patch2 commit patch3 ... checksum1 checksum3 checksum2 ... 5Sunday, 19 May, 13
  • 31. Setup Of Case Study 5 Reviewing Integration Staging email1 email3 email2 email patch2 email patch1 email patch3 ... commit3 commit2 commit1commit patch1 commit patch2 commit patch3 ... checksum1 checksum3 checksum2 ... 5Sunday, 19 May, 13
  • 33. size: LOC > 50 Number of reviewers > 3 ? not accepted Number of review messages > 3 ? Is this first patch in thread? not acceptedaccepted Decision Tree Building Decision Trees 7 7Sunday, 19 May, 13
  • 34. 8 RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 8Sunday, 19 May, 13
  • 35. 9 RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 9Sunday, 19 May, 13
  • 36. RQ1:33% of patches make it! 10 2005 2006 2007 2008 2009 2010 2011 2012 accepted/rejected patches percentageofpatches 0 20000 40000 60000 80000 100000 120000 28.63 28.7 27.03 32.83 32.79 33.87 33.55 30.74 71.37 71.3 72.97 67.17 67.21 66.13 66.45 69.26 % accepted by linus % rejected by linus #ofpatches 72.97% 67.17% 71.3% 71.73% 69.26% 66.45% 66.13%67.21% 28.63% 28.7% 32.79% 32.83% 27.03% 30.74%33.55% 33.87% A C C E P T R E J E C T 10Sunday, 19 May, 13
  • 37. RQ1:Requiring 1~6months! 11 2005 2006 2007 2008 2009 2010 2011 2012 year percentageofacceptedpatchesofeachyear 020406080 instantly within_hour within_day within_week within_month within_quarter within_half_year within_year took_ages Text % accepted patches 11Sunday, 19 May, 13
  • 38. RQ1: reviewing time speeds up & integration slows down 12 reviewing time integration time 12Sunday, 19 May, 13
  • 39. 13 RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 13Sunday, 19 May, 13
  • 40. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 14Sunday, 19 May, 13
  • 41. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 14Sunday, 19 May, 13
  • 42. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 14Sunday, 19 May, 13
  • 43. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 14Sunday, 19 May, 13
  • 44. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 14Sunday, 19 May, 13
  • 45. 15 RQ1: How many patches are merged? RQ2: What kind of patch is merged more likely? RQ 3: What kind of patch is accepted faster? 15Sunday, 19 May, 13
  • 46. RQ3: What kind of patch is accepted faster? 16 16Sunday, 19 May, 13
  • 47. RQ3: What kind of patch is accepted faster? 16 16Sunday, 19 May, 13
  • 48. RQ3: What kind of patch is accepted faster? 16 16Sunday, 19 May, 13
  • 49. RQ3: What kind of patch is accepted faster? 16 16Sunday, 19 May, 13
  • 50. RQ3: What kind of patch is accepted faster? 16 16Sunday, 19 May, 13
  • 51. RQ3: What kind of patch is accepted faster? 16 16Sunday, 19 May, 13
  • 52. RQ3: What kind of patch is accepted faster? 16 Acceptance is determined by integration phase 16Sunday, 19 May, 13
  • 55. 2005 2006 2007 2008 2009 2010 2011 2012 year percentageofpatches 0 20000 40000 60000 80000 100000 28.63 28.7 27.03 32.83 32.79 33.87 33.55 30.74 71.37 71.3 72.97 67.17 67.21 66.13 66.45% accepted by linus % rejected by linus 72.97% 67.17% 71.3% 71.73% 66.45% 66.13%67.21% 28.63% 28.7% 32.79% 32.83% 27.03% 30.74%33.55% 33.87% 17 17Sunday, 19 May, 13
  • 56. 2005 2006 2007 2008 2009 2010 2011 2012 year percentageofpatches 0 20000 40000 60000 80000 100000 28.63 28.7 27.03 32.83 32.79 33.87 33.55 30.74 71.37 71.3 72.97 67.17 67.21 66.13 66.45% accepted by linus % rejected by linus 72.97% 67.17% 71.3% 71.73% 66.45% 66.13%67.21% 28.63% 28.7% 32.79% 32.83% 27.03% 30.74%33.55% 33.87% 17 17Sunday, 19 May, 13
  • 57. 2005 2006 2007 2008 2009 2010 2011 2012 year percentageofpatches 0 20000 40000 60000 80000 100000 28.63 28.7 27.03 32.83 32.79 33.87 33.55 30.74 71.37 71.3 72.97 67.17 67.21 66.13 66.45% accepted by linus % rejected by linus 72.97% 67.17% 71.3% 71.73% 66.45% 66.13%67.21% 28.63% 28.7% 32.79% 32.83% 27.03% 30.74%33.55% 33.87% 17 17Sunday, 19 May, 13