the impact of code review coverage and code review
play

The Impact of Code Review Coverage and Code Review Participation on - PowerPoint PPT Presentation

The Impact of Code Review Coverage and Code Review Participation on Software Quality Shane Yasutaka Bram Ahmed E. McIntosh Kamei Adams Hassan Code reviews : An opportunity for constructive criticism of code changes Yasu Shane Bram


  1. The Impact of Code Review Coverage and Code Review Participation on Software Quality Shane Yasutaka Bram Ahmed E. McIntosh Kamei Adams Hassan

  2. Code reviews : An opportunity for constructive criticism of code changes Yasu Shane Bram � 2

  3. Code reviews : An opportunity for constructive criticism of code changes + + - Yasu - Patch Shane Bram � 2

  4. Code reviews : An opportunity for constructive criticism of code changes Bram and Yasu, I made a code change. Could you have a look? + Yasu + - - Shane Patch Bram � 2

  5. Code reviews : An opportunity for constructive criticism of code changes Bram and Yasu, I made a code change. Could you have a look? No way, Shane! + Yasu + - - Shane Patch Bram � 2

  6. Code reviews : An opportunity for constructive criticism of code changes Bram and Yasu, I made a code change. Could you have a look? No way, Shane! + Yasu + - - Shane Patch Your code sucks! Bram � 2

  7. Code reviews : An opportunity for constructive criticism of code changes Yasu Shane Bram � 3

  8. Code reviews : An opportunity for constructive criticism of code changes + + - Yasu - Patch Shane Bram � 3

  9. Code reviews : An opportunity for constructive criticism of code changes Bram and Yasu, I made a code change. Could you have a look? Yasu + + Shane - - Patch Bram � 3

  10. Code reviews : An opportunity for constructive criticism of code changes Bram and Yasu, I made a code change. Could you have a look? Watch about NULL values at line 3! Yasu + + Shane - - Patch Bram � 3

  11. Code reviews : An opportunity for constructive criticism of code changes Bram and Yasu, I made a code change. Could you have a look? Watch about NULL values at line 3! Yasu + + Shane - - Patch Your code still sucks! Bram � 3

  12. Traditional � Code Inspections Mandated reviewer checklists and in-person meetings

  13. Traditional � Code Inspections Measurably � improves � software � quality Mandated reviewer checklists and in-person meetings

  14. Traditional � Modern � Code Inspections Code Review Measurably � improves � software � quality Mandated reviewer checklists and in-person Lightweight, tool-supported meetings

  15. Traditional � Modern � Code Inspections Code Review Measurably � improves � ??? software � quality Mandated reviewer checklists and in-person Lightweight, tool-supported meetings

  16. Are properties of the modern code review process linked to software quality? � 5

  17. Are properties of the modern code review process linked to software quality? Coverage � 5

  18. Are properties of the modern code review process linked to software quality? Coverage Participation � 5

  19. Are properties of the modern code review process linked to software quality? � 6

  20. Gerrit Code Review Process + + Yasu + + - - - - Patch Patch Shane Gerrit Bram � 7

  21. Gerrit Code Review Process + Yasu + - + - + Patch - - Shane Gerrit Patch Bram � 7

  22. Gerrit Code Review Process + Yasu + - Request + - + Patch review - - Shane Gerrit Patch Bram � 7

  23. Gerrit Code Review Process Watch about NULL values at line 3! + Yasu + - + - + Patch - - Shane Gerrit Patch Bram � 7

  24. Gerrit Code Review Process Watch about NULL values at line 3! + Yasu + - + - + Patch - - Shane Gerrit Patch Your code sucks! Bram � 7

  25. Gerrit Code Review Process Watch about NULL values at line 3! Yasu + + + + - - - - Shane Gerrit Patch Patch Your code sucks! Bram � 7

  26. Gerrit Code Review Process Yasu Shane Gerrit Bram � 8

  27. Gerrit Code Review Process Yasu Shane Gerrit Bram � 8

  28. Gerrit Code Review Process Upstream Yasu Shane Gerrit Bram � 8

  29. Gerrit Code Review Process Changes are automatically Upstream integrated after review Yasu criteria are satisfied Shane Gerrit Bram � 8

  30. Reviews can be linked to commits in source code repositories commit b5b46f398c1a04ab443bf22ec08c5efbf72c161e Author: Alan Alpert <alan.alpert@nokia.com> Date: Thu Mar 1 20:09:52 2012 +1000 � Add a hidden XandYAxis enum value For Qt 5 XandYAxis is being renamed to XAndYAxis to more consistently follow capitalization rules. Add an undocumented XandYAxis variable to ease porting. Upstream Change-Id: Id9e41dd5578373f5f557937da889a9326ff12e53 Reviewed-by: Martin Jones <martin.jones@jollamobile.com> Gerrit � 9

  31. Reviews can be linked to commits in source code repositories commit b5b46f398c1a04ab443bf22ec08c5efbf72c161e Author: Alan Alpert <alan.alpert@nokia.com> Date: Thu Mar 1 20:09:52 2012 +1000 � Add a hidden XandYAxis enum value For Qt 5 XandYAxis is being renamed to XAndYAxis to more consistently follow capitalization rules. Add an undocumented XandYAxis variable to ease porting. Upstream Change-Id: Id9e41dd5578373f5f557937da889a9326ff12e53 Reviewed-by: Martin Jones <martin.jones@jollamobile.com> Gerrit � 9

  32. Reviews can be linked to commits in source code repositories commit b5b46f398c1a04ab443bf22ec08c5efbf72c161e Author: Alan Alpert <alan.alpert@nokia.com> Date: Thu Mar 1 20:09:52 2012 +1000 � Add a hidden XandYAxis enum value For Qt 5 XandYAxis is being renamed to XAndYAxis to more consistently follow capitalization rules. Add an undocumented XandYAxis variable to ease porting. Upstream Change-Id: Id9e41dd5578373f5f557937da889a9326ff12e53 Reviewed-by: Martin Jones <martin.jones@jollamobile.com> Gerrit � 9

  33. Reviews can be linked to commits in source code repositories commit b5b46f398c1a04ab443bf22ec08c5efbf72c161e Author: Alan Alpert <alan.alpert@nokia.com> Date: Thu Mar 1 20:09:52 2012 +1000 � Add a hidden XandYAxis enum value For Qt 5 XandYAxis is being renamed to XAndYAxis to more consistently follow capitalization rules. Add an undocumented XandYAxis variable to ease porting. Upstream Change-Id: Id9e41dd5578373f5f557937da889a9326ff12e53 Reviewed-by: Martin Jones <martin.jones@jollamobile.com> Gerrit � 9

  34. Are properties of the modern code review process linked to software quality ? � 10

  35. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11

  36. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11

  37. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11

  38. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11

  39. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream v1.0 Release Development � 11

  40. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream v1.0 Release Development � 11

  41. Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream v1.0 Release Development � 11

  42. Defect Models Comp. A How many Comp. B defects? Comp. C � 12

  43. Defect Models 0 Comp. A How many 1 Comp. B defects? 5 Comp. C � 12

  44. Explanatory Defect Models v1.0 Release Development � 13

  45. Explanatory Defect Models Defect model v1.0 Release Development � 13

  46. Explanatory Defect Models Defect model v1.0 � 14

  47. Explanatory Defect Models Analyze relationship between Defect model v1.0 predictors and defects � 14

  48. The Baseline � 15

  49. Product Metrics The Baseline � 15

  50. Product Metrics The Baseline e.g., SLOC, complexity � 15

  51. Product Metrics The Baseline e.g., SLOC, complexity Process Metrics � 15

  52. Product Metrics The Baseline e.g., SLOC, complexity Process Metrics e.g., Prior defects, churn � 15

  53. Product Metrics The Baseline e.g., SLOC, complexity Process Metrics e.g., Prior defects, churn Human Factors Metrics � 15

  54. Product Metrics The Baseline e.g., SLOC, complexity Process Metrics e.g., Prior defects, churn Human Factors Metrics e.g., # Minor contributors � 15

  55. The Context � 16

  56. v5.0.0 The Context 1,339 components 254 defect-prone v5.1.0 1,337 components 187 defect-prone � 16

  57. v5.0.0 The Context 1,339 components 254 defect-prone v5.1.0 1,337 components 187 defect-prone v5.10.0 170 components 15 defect-prone � 16

  58. v5.0.0 The Context 1,339 components 254 defect-prone v5.1.0 1,337 components 187 defect-prone v5.10.0 170 components 15 defect-prone v4.3.0 218 components 24 defect-prone � 16

  59. Are properties of the code reviewing process linked to software quality? Coverage Participation

  60. Are properties of the code reviewing process linked to software quality? Coverage Participation � 18

  61. Are properties of the code reviewing process linked to software quality? Metrics � � Reviewed changes (%) Reviewed churn (%) Coverage Participation � 18

Recommend


More recommend