will my patch make it and how fast
play

Will My Patch Make It? And How Fast? Yujuan Jiang, Bram Adams - PowerPoint PPT Presentation

Will My Patch Make It? And How Fast? Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montral) Daniel M. German (University of Victoria ) 1 Monday, 3 June, 13 I do hold out hope that Google does come around and works to fix their codebase to


  1. Will My Patch Make It? And How Fast? Yujuan Jiang, Bram Adams (MCIS, Polytechnique Montréal) Daniel M. German (University of Victoria ) 1 Monday, 3 June, 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. Greg Kroah-Hartman http://www.kroah.com/log/linux/android-kernel-problems.html 2 Monday, 3 June, 13

  3. Integration Process 3 Monday, 3 June, 13

  4. Integration Process Reviewing Integration Staging 3 Monday, 3 June, 13

  5. Integration Process Reviewing Integration Staging 3 Monday, 3 June, 13

  6. Integration Process contributor 1 contributor 2 contributor 3 Reviewing Integration Staging 3 Monday, 3 June, 13

  7. Integration Process contributor 1 contributor 2 contributor 3 Reviewing Integration Staging 3 Monday, 3 June, 13

  8. Integration Process contributor 1 linux-usb contributor 2 lkml contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  9. Integration Process contributor 1 linux-usb contributor 2 lkml contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  10. Integration Process contributor 1 linux-usb contributor 2 lkml contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  11. Integration Process contributor 1 linux-usb contributor 2 lkml contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  12. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  13. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  14. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  15. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  16. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  17. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml maintainer subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  18. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml Linus Torvalds maintainer subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  19. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml Linus Torvalds maintainer subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  20. Integration Process contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml Linus Torvalds maintainer linux 3.5 subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 3 Monday, 3 June, 13

  21. Research Questions RQ 3: RQ1: RQ2: What kind of How many What kind of patch is patches are patch is merged accepted faster? merged? more likely? 4 Monday, 3 June, 13

  22. Setup Of Case Study contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml Linus Torvalds maintainer linux 3.5 subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 5 Monday, 3 June, 13

  23. Setup Of Case Study contributor 1 linux-usb subsystem maintainer1 contributor 2 lkml Linus Torvalds maintainer linux 3.5 subsystem maintainer1 contributor 3 linux-scsi Reviewing Integration Staging 5 Monday, 3 June, 13

  24. Setup Of Case Study linux-usb lkml Linus Torvalds linux-scsi Reviewing Integration Staging 5 Monday, 3 June, 13

  25. Setup Of Case Study linux-usb lkml Linus Torvalds linux-scsi Reviewing Integration Staging 5 Monday, 3 June, 13

  26. Setup Of Case Study Linus Torvalds Reviewing Integration Staging 5 Monday, 3 June, 13

  27. email1 email3 email2 email patch2 email patch1 email patch3 Setup Of Case Study Linus Torvalds ... Reviewing Integration Staging 5 Monday, 3 June, 13

  28. email3 email1 email2 email patch2 email patch1 email patch3 Setup Of Case Study ... Reviewing Integration Staging 5 Monday, 3 June, 13

  29. email patch3 commit3 commit patch3 commit patch2 commit patch1 email1 email3 email2 email patch2 email patch1 commit1 commit2 Setup Of Case Study ... ... Reviewing Integration Staging 5 Monday, 3 June, 13

  30. commit3 commit patch1 checksum2 checksum3 checksum1 email1 email3 email2 email patch2 email patch1 email patch3 commit patch3 commit patch2 commit2 commit1 Setup Of Case Study ... ... ... Reviewing Integration Staging 5 Monday, 3 June, 13

  31. commit3 commit patch1 checksum2 checksum3 checksum1 email1 email3 email2 email patch2 email patch1 email patch3 commit patch3 commit patch2 commit2 commit1 Setup Of Case Study ... ... ... Reviewing Integration Staging 5 Monday, 3 June, 13

  32. Experience 5 Dimensions of Commit Email 29 Patch Metrics Review Patch Experi 6 ence Monday, 3 June, 13

  33. Building Decision Trees size: LOC > 50 Is this first patch in thread? Number of reviewers > 3 ? not accepted Number of review messages > 3 ? not accepted accepted Decision Tree 7 Monday, 3 June, 13

  34. RQ 3: RQ1: RQ2: What kind of How many What kind of patch is patches are patch is merged accepted faster? merged? more likely? 8 Monday, 3 June, 13

  35. RQ 3: RQ1: RQ2: What kind of How many What kind of patch is patches are patch is merged accepted faster? merged? more likely? 9 Monday, 3 June, 13

  36. RQ1: 33% of patches make it! 69.26% 69.26 R 120000 E % accepted by linus 66.45% 66.45 % rejected by linus J E 100000 66.13% 66.13 67.21% 67.21 C s 67.17% percentage of patches 67.17 e T h 80000 c t 72.97% a 72.97 p 60000 f o A # C 40000 30.74% 30.74 33.55% 33.55 71.3% C 71.3 33.87% 33.87 32.79% 32.79 32.83% 32.83 E 20000 P 27.03% 27.03 71.73% 71.37 28.7% T 28.7 28.63% 28.63 0 2005 2006 2007 2008 2009 2010 2011 2012 10 Monday, 3 June, 13

  37. RQ1: Requiring 1~6months! 80 instantly within_week within_half_year within_hour within_month within_year within_day within_quarter took_ages percentage of accepted patches of each year 60 % T accepted e 40 x t patches 20 0 2005 2006 2007 2008 2009 2010 2011 2012 11 Monday, 3 June, 13

  38. RQ1: reviewing time speeds up & integration slows down integration time reviewing time 12 Monday, 3 June, 13

  39. RQ1: RQ 3: RQ2: How many What kind of What kind of patches are patch is patch is merged merged? accepted faster? more likely? 13 Monday, 3 June, 13

  40. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Monday, 3 June, 13

  41. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Monday, 3 June, 13

  42. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Monday, 3 June, 13

  43. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Monday, 3 June, 13

  44. RQ2: What kind of patch is merged more likely? precision:73% recall:68.47% 14 Monday, 3 June, 13

  45. RQ 3: RQ2: RQ1: What kind of What kind of How many patch is patch is merged patches are accepted faster? more likely? merged? 15 Monday, 3 June, 13

  46. RQ3: What kind of patch is accepted faster? 16 Monday, 3 June, 13

  47. RQ3: What kind of patch is accepted faster? 16 Monday, 3 June, 13

  48. RQ3: What kind of patch is accepted faster? 16 Monday, 3 June, 13

  49. RQ3: What kind of patch is accepted faster? 16 Monday, 3 June, 13

  50. RQ3: What kind of patch is accepted faster? 16 Monday, 3 June, 13

  51. RQ3: What kind of patch is accepted faster? 16 Monday, 3 June, 13

  52. RQ3: What kind of patch is accepted faster? Acceptance is determined by integration phase 16 Monday, 3 June, 13

  53. 17 Monday, 3 June, 13

  54. 17 Monday, 3 June, 13

  55. 120000 % accepted by linus 66.45% 66.45 % rejected by linus 100000 66.13% 66.13 67.21% 67.21 percentage of patches 67.17% 67.17 80000 72.97% 72.97 60000 40000 30.74 30.74% 33.55% 33.55 71.3% 71.3 33.87 33.87% 32.79% 32.79 32.83 32.83% 20000 27.03% 27.03 71.73% 71.37 28.7% 28.7 28.63% 28.63 0 2005 2006 2007 2008 2009 2010 2011 2012 17 Monday, 3 June, 13

Recommend


More recommend