SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque

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
 

Destaque (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

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

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