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

57
Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montréal) Daniel M. German (University of Victoria ) Will My Patch Make It? And How Fast? 1 1 Sunday, 19 May, 13

description

Software bugs, software patches, acceptance

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

  • 1.Will My Patch Make It? And How Fast? Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montral) Daniel M. German (University of Victoria )1 Sunday, 19 May, 131

2. I do hold out hope that Google does come around and works to x 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, 132 3. Integration Process3 Sunday, 19 May, 133 4. Integration ProcessReviewingIntegrationStaging3 Sunday, 19 May, 133 5. Integration ProcessReviewingIntegrationStaging3 Sunday, 19 May, 133 6. Integration Processcontributor 1contributor 2contributor 3ReviewingIntegrationStaging3 Sunday, 19 May, 133 7. Integration Processcontributor 1contributor 2contributor 3ReviewingIntegrationStaging3 Sunday, 19 May, 133 8. Integration Processcontributor 1contributor 2contributor 3linux-usblkmllinux-scsiReviewingIntegrationStaging3 Sunday, 19 May, 133 9. Integration Processcontributor 1contributor 2contributor 3linux-usblkmllinux-scsiReviewingIntegrationStaging3 Sunday, 19 May, 133 10. Integration Processcontributor 1contributor 2contributor 3linux-usblkmllinux-scsiReviewingIntegrationStaging3 Sunday, 19 May, 133 11. Integration Processcontributor 1contributor 2contributor 3linux-usblkmllinux-scsiReviewingIntegrationStaging3 Sunday, 19 May, 133 12. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2contributor 3lkmllinux-scsiReviewingsubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 13. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2contributor 3lkmllinux-scsiReviewingsubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 14. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2contributor 3lkmllinux-scsiReviewingsubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 15. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2contributor 3lkmllinux-scsiReviewingsubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 16. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingsubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 17. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingsubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 18. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingLinus Torvaldssubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 19. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingLinus Torvaldssubsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 20. Integration Processcontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingLinus Torvaldslinux 3.5subsystem maintainer1IntegrationStaging3 Sunday, 19 May, 133 21. Research QuestionsRQ1: 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, 134 22. Setup Of Case Studycontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingLinus Torvaldslinux 3.5subsystem maintainer1IntegrationStaging5 Sunday, 19 May, 135 23. Setup Of Case Studycontributor 1linux-usb subsystem maintainer1contributor 2lkml maintainercontributor 3linux-scsiReviewingLinus Torvaldslinux 3.5subsystem maintainer1IntegrationStaging5 Sunday, 19 May, 135 24. Setup Of Case Studylinux-usblkml Linus Torvaldslinux-scsiReviewingIntegrationStaging5 Sunday, 19 May, 135 25. Setup Of Case Studylinux-usblkml Linus Torvaldslinux-scsiReviewingIntegrationStaging5 Sunday, 19 May, 135 26. Setup Of Case StudyLinus TorvaldsReviewingIntegrationStaging5 Sunday, 19 May, 135 27. Setup Of Case Study email1email patch1email2email patch2 Linus Torvaldsemail3...email patch3ReviewingIntegrationStaging5 Sunday, 19 May, 135 28. Setup Of Case Study email1email patch1email2email patch2email3email patch3...ReviewingIntegrationStaging5 Sunday, 19 May, 135 29. Setup Of Case Study email1email patch1commit patch1commit1email2email patch2commit patch2commit2email3email patch3commit patch3commit3...ReviewingIntegration...Staging5 Sunday, 19 May, 135 30. Setup Of Case Study email1email patch1checksum1commit patch1commit1email2email patch2checksum2commit patch2commit2email3email patch3commit patch3commit3...Reviewingchecksum3...Integration...Staging5 Sunday, 19 May, 135 31. Setup Of Case Study email1email patch1checksum1commit patch1commit1email2email patch2checksum2commit patch2commit2email3email patch3commit patch3commit3...Reviewingchecksum3...Integration...Staging5 Sunday, 19 May, 135 32. ExperienceCommit5 Dimensions of 29 Patch MetricsReviewPatch 6 Sunday, 19 May, 13EmailE 6 33. Building Decision Trees size: LOC > 50Is this rst patch in thread?not acceptedNumber of reviewers > 3 ?Number of review messages > 3 ?acceptednot acceptedDecision Tree 7 Sunday, 19 May, 137 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, 138 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, 139 36. RQ1:33% of patches make it! accepted/rejected patches 69.26 69.26%R E J E C T120000 % accepted by linus % rejected by linus66.45 66.45%percentage of patches# of patches10000067.21% 67.2166.13 66.13%67.17 67.17% 8000072.97% 72.97 600004000033.55 33.55%71.3 71.3% 32.83 32.83% 2000071.37 71.73% 033.87 33.87% 32.79 32.79%27.03 27.03% 28.7 28.7%28.63%28.63 2005Sunday, 19 May, 1330.74 30.74%20062007102008200920102011A C C E P T2012 10 37. 80RQ1:Requiring 1~6months!4060within_half_year within_year took_ages0Text% accepted patcheswithin_week within_month within_quarter20percentage of accepted patches of each yearinstantly within_hour within_day20052006200711 Sunday, 19 May, 1320082009201020112012year 11 38. RQ1: reviewing time speeds up & integration slows downreviewing time Sunday, 19 May, 1312integration time 12 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, 1313 40. RQ2: What kind of patch is merged more likely?precision:73% recall:68.47%14 Sunday, 19 May, 1314 41. RQ2: What kind of patch is merged more likely?precision:73% recall:68.47%14 Sunday, 19 May, 1314 42. RQ2: What kind of patch is merged more likely?precision:73% recall:68.47%14 Sunday, 19 May, 1314 43. RQ2: What kind of patch is merged more likely?precision:73% recall:68.47%14 Sunday, 19 May, 1314 44. RQ2: What kind of patch is merged more likely?precision:73% recall:68.47%14 Sunday, 19 May, 1314 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, 1315 46. RQ3: What kind of patch is accepted faster?16 Sunday, 19 May, 1316 47. RQ3: What kind of patch is accepted faster?16 Sunday, 19 May, 1316 48. RQ3: What kind of patch is accepted faster?16 Sunday, 19 May, 1316 49. RQ3: What kind of patch is accepted faster?16 Sunday, 19 May, 1316 50. RQ3: What kind of patch is accepted faster?16 Sunday, 19 May, 1316 51. RQ3: What kind of patch is accepted faster?16 Sunday, 19 May, 1316 52. RQ3: What kind of patch is accepted faster?Acceptance is determined by integration phase16 Sunday, 19 May, 1316 53. 17 Sunday, 19 May, 1317 54. 17 Sunday, 19 May, 1317 55. % accepted by linus % rejected by linus66.45 66.45%100000percentage of patches67.21% 67.2166.13% 66.1367.17 67.17% 8000072.97% 72.97 600004000033.55 33.55%71.3 71.3%33.87 33.87%200932.83 32.83%32.79 32.79%201030.74 30.74%2000027.03 27.03%71.73% 71.3728.7 28.7% 028.63% 28.63 200520062007200820112012year17 Sunday, 19 May, 1317 56. % accepted by linus % rejected by linus66.45 66.45%100000percentage of patches67.21% 67.2166.13% 66.1367.17 67.17% 8000072.97% 72.97 600004000033.55 33.55%71.3 71.3%33.87 33.87%200932.83 32.83%32.79 32.79%201030.74 30.74%2000027.03 27.03%71.73% 71.3728.7 28.7% 028.63% 28.63 200520062007200820112012year17 Sunday, 19 May, 1317 57. % accepted by linus % rejected by linus66.45 66.45%100000percentage of patches67.21% 67.2166.13% 66.1367.17 67.17% 8000072.97% 72.97 600004000033.55 33.55%71.3 71.3%33.87 33.87%200932.83 32.83%32.79 32.79%201030.74 30.74%2000027.03 27.03%71.73% 71.3728.7 28.7% 028.63% 28.63 200520062007200820112012year17 Sunday, 19 May, 1317