the xen code review process
play

The Xen Code Review Process The 56th CREST Open Workshop Daniel - PowerPoint PPT Presentation

The Xen Code Review Process The 56th CREST Open Workshop Daniel Izquierdo, CDO dizquierdo@bitergia.com @dizquierdo speakerdeck.com/bitergia /me GrimoireLab (CHAOSS Community) InnerSource Commons PhD in Free Software Engineering (Mozilla


  1. The Xen Code Review Process The 56th CREST Open Workshop Daniel Izquierdo, CDO dizquierdo@bitergia.com @dizquierdo speakerdeck.com/bitergia

  2. /me GrimoireLab (CHAOSS Community) InnerSource Commons PhD in Free Software Engineering (Mozilla Foundation projects) Founder of Bitergia, CDO

  3. Software Development Analytics /bitergia for your peace of mind

  4. /grimoirelab grimoirelab.github.io

  5. Motivation

  6. /motivation Growth of dev. activity and delays Complaints from contributors and maintainers Surveys to understand the root causes

  7. /motivation Code contributions are more complex Lack of reviewers Lower quality code from new contributors More discussions in the lists Misunderstanding due to diverse languages

  8. /motivation No clear conclusions leading to division Some ways to fix this: ● Training for newcomers [2014] ● Architecture/design reviews [2014] ● Governance [2014, 2016] ● Seek for help => Bitergia [2015]

  9. Code Review in the Xen Community

  10. /patch cycle

  11. /patchset cycle

  12. /challenges Patch Series = Thread (but not always) Versions [PATCH vX Y/Z] (not regular) Patch number (Y of Z) [PATCH vX Y/Z] (not regular) Matching threads and commits (commits timestamps)

  13. /challenges 'Acked-by' : '^Acked-by:(?P<value>.+)$', 'Cc' : '^Cc:(?P<value>.+)', 'Fixes' : '^Fixes:(?P<value>.+)$', 'From' : '^[Ff]rom:(?P<value>.+)$', 'Reported-by' : '^Reported-by:(?P<value>.+)$', 'Tested-by' : '^Tested-by:(?P<value>.+)$', 'Reviewed-by' : '^Reviewed-by:(?P<value>.+)$', 'Release-Acked-by' : '^Release-Acked-by:(?P<value>.+)$', 'Signed-off-by' : '^Signed-off-by:(?P<value>.+)$', 'Suggested-by' : '^Suggested-by:(?P<value>.+)$',

  14. Initial Findings

  15. /initial findings

  16. /initial findings Large patches = Longer to review (exponential)

  17. More Steps

  18. /more steps Definition of Use cases ● Community [Encourage desired behavior] ● Performance [Spot issues early] ● Backlog [Optimize process and focus]

  19. /more steps: community Community use case ● Identify top reviewers ● Identify imbalances ● Identify post-ack comments

  20. /more steps: performance Performance use case ● Identify delays due to large number of reviews ● Identify delays due to large Patch Series

  21. /more steps: backlog Backlog use case ● Merged and not-merged ● Identify nearly completed Patch Series ● Identify Hot/Warm/Tepid… Patch Series

  22. Outcomes [xen.biterg.io]

  23. /outcomes Top Reviewers [xen.biterg.io] [xen.biterg.io]

  24. /outcomes Imbalances [xen.biterg.io]

  25. /outcomes Post ACK Comments [xen.biterg.io]

  26. /outcomes Discussions & Delays

  27. /outcomes Complexity & Delays

  28. /outcomes Backlog & Nearly completed

  29. Lessons Learned

  30. /lessons learned Community involvement Perception is not a good friend Good starting point for others

  31. /references MSR: Daniel Izquierdo-Cortazar, Lars Kurth, Jesús M. González-Barahona, Santiago Dueñas, Nelson Sekitoleko. Characterization of the Xen project code review process: an experience report. MSR 2016: 386-390 OSCON talk: https://conferences.oreilly.com/oscon/oscon-tx-2016/public/schedule/detail/4903 1 GitHub project: https://github.com/dicortazar/xen-code-review-analysis Live dashboard: https://xen.biterg.io

  32. Extra Bonus

  33. /bonus GrimoireLab: Tools for software development analytics https://grimoirelab.github.i o

  34. The Xen Code Review Process The 56th CREST Open Workshop Daniel Izquierdo, CDO dizquierdo@bitergia.com @dizquierdo speakerdeck.com/bitergia

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend