Seminar on tool paper:
“Improving Code Review by Predicting
Reviewers and Acceptance of Patches ”
by
Gaeul Jeong, Sunghun Kim, Thomas
Zimmermann, and Kwangkeun Yi
Presented by Kishor Datta Gupta
Wed 14 Dec 2017
Problem
Code review time increasing
Reason:
It is manual process
Solutions:
• Predicting the review outcome
• Recommending reviewers
Background
Empirical analysis of the code review process
1. Why code review done manually?
2. Why reviewer assignments important?
Predicting review outcomes
1. Reviewers will get suggestions
2. Developer can get early feedback
Recommending patch reviewers
1. Suggesting a reviewer
2. Direct developer go to best reviewer
Background: Review Process
Figure 1 from the paper
Background: System
• FireFox
• Mozilla Core projects
Average review time 1.5 days
Acceptance rate 39% and 45%
Use Bugzilla System
Background: System Study
• 56000 code reviewed for study
Figure 1 from the paper
Background: System Study
• 56000 code reviewed for study
Figure2 from the paper
Background: System Study
• 56000 code reviewed for study
Figure 3 from the paper
Background: Study Result
• Developers have to manually select reviewer.
• Reviewers have to manually inspect the patch
• Without reviewers recommendation patch rejection
rate is higher
Tool: model
• Patch acceptance prediction model
• Reviewer prediction model
Tools: Approach
• Developer writes a patch
• Optionally runs our patch acceptance prediction
model
• Posts the patch with reviewer prediction model
• Reviewer reuse patch acceptance prediction for
faster decision
Tools: Patch Content
Tools: Bug Report
Evaluation method: Prediction Model
• Predicting an accepted patch as accepted (a -> a)
• Predicting an accepted patch as rejected (a -> r)
• Predicting a rejected patch as rejected (r -> r)
• Predicting a rejected patch as accepted (r -> a).
Evaluation method: Reviewer select
• Predicts the top N suitable reviewers.
• Correct if real reviewer exit in the list.
Evaluation results
Prediction result:
Evaluation Result
• Reviewer prediction
Figure4 from the paper
Evaluation Result
Figure 6 from the paper
Discussion
• How does the model work
• which features are important
Discussion
Figure 9 from the paper
Conclusion
• Claims:
-Predicting the review outcome.
-Recommending patch reviewers.
-Reduce the time spent in development

Code review prediction