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 � 2
Code reviews : An opportunity for constructive criticism of code changes + + - Yasu - Patch Shane Bram � 2
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
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
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
Code reviews : An opportunity for constructive criticism of code changes Yasu Shane Bram � 3
Code reviews : An opportunity for constructive criticism of code changes + + - Yasu - Patch Shane Bram � 3
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
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
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
Traditional � Code Inspections Mandated reviewer checklists and in-person meetings
Traditional � Code Inspections Measurably � improves � software � quality Mandated reviewer checklists and in-person meetings
Traditional � Modern � Code Inspections Code Review Measurably � improves � software � quality Mandated reviewer checklists and in-person Lightweight, tool-supported meetings
Traditional � Modern � Code Inspections Code Review Measurably � improves � ??? software � quality Mandated reviewer checklists and in-person Lightweight, tool-supported meetings
Are properties of the modern code review process linked to software quality? � 5
Are properties of the modern code review process linked to software quality? Coverage � 5
Are properties of the modern code review process linked to software quality? Coverage Participation � 5
Are properties of the modern code review process linked to software quality? � 6
Gerrit Code Review Process + + Yasu + + - - - - Patch Patch Shane Gerrit Bram � 7
Gerrit Code Review Process + Yasu + - + - + Patch - - Shane Gerrit Patch Bram � 7
Gerrit Code Review Process + Yasu + - Request + - + Patch review - - Shane Gerrit Patch Bram � 7
Gerrit Code Review Process Watch about NULL values at line 3! + Yasu + - + - + Patch - - Shane Gerrit Patch Bram � 7
Gerrit Code Review Process Watch about NULL values at line 3! + Yasu + - + - + Patch - - Shane Gerrit Patch Your code sucks! Bram � 7
Gerrit Code Review Process Watch about NULL values at line 3! Yasu + + + + - - - - Shane Gerrit Patch Patch Your code sucks! Bram � 7
Gerrit Code Review Process Yasu Shane Gerrit Bram � 8
Gerrit Code Review Process Yasu Shane Gerrit Bram � 8
Gerrit Code Review Process Upstream Yasu Shane Gerrit Bram � 8
Gerrit Code Review Process Changes are automatically Upstream integrated after review Yasu criteria are satisfied Shane Gerrit Bram � 8
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
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
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
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
Are properties of the modern code review process linked to software quality ? � 10
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream Release Development � 11
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream v1.0 Release Development � 11
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream v1.0 Release Development � 11
Software Quality as Post-Release Defect Counts Commit types Feature development Defect repairing Merge Upstream v1.0 Release Development � 11
Defect Models Comp. A How many Comp. B defects? Comp. C � 12
Defect Models 0 Comp. A How many 1 Comp. B defects? 5 Comp. C � 12
Explanatory Defect Models v1.0 Release Development � 13
Explanatory Defect Models Defect model v1.0 Release Development � 13
Explanatory Defect Models Defect model v1.0 � 14
Explanatory Defect Models Analyze relationship between Defect model v1.0 predictors and defects � 14
The Baseline � 15
Product Metrics The Baseline � 15
Product Metrics The Baseline e.g., SLOC, complexity � 15
Product Metrics The Baseline e.g., SLOC, complexity Process Metrics � 15
Product Metrics The Baseline e.g., SLOC, complexity Process Metrics e.g., Prior defects, churn � 15
Product Metrics The Baseline e.g., SLOC, complexity Process Metrics e.g., Prior defects, churn Human Factors Metrics � 15
Product Metrics The Baseline e.g., SLOC, complexity Process Metrics e.g., Prior defects, churn Human Factors Metrics e.g., # Minor contributors � 15
The Context � 16
v5.0.0 The Context 1,339 components 254 defect-prone v5.1.0 1,337 components 187 defect-prone � 16
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
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
Are properties of the code reviewing process linked to software quality? Coverage Participation
Are properties of the code reviewing process linked to software quality? Coverage Participation � 18
Are properties of the code reviewing process linked to software quality? Metrics � � Reviewed changes (%) Reviewed churn (%) Coverage Participation � 18
Recommend
More recommend