An Industrial Case Study on Shrinking Code Review Changesets through Remark Prediction

12/22/2018
by   Tobias Baum, et al.
0

Change-based code review is used widely in industrial software development. Thus, research on tools that help the reviewer to achieve better review performance can have a high impact. We analyze one possibility to provide cognitive support for the reviewer: Determining the importance of change parts for review, specifically determining which parts of the code change can be left out from the review without harm. To determine the importance of change parts, we extract data from software repositories and build prediction models for review remarks based on this data. The approach is discussed in detail. To gather the input data, we propose a novel algorithm to trace review remarks to their triggers. We apply our approach in a medium-sized software company. In this company, we can avoid the review of 25 the changed Java source code lines, while missing only about 1 remarks. Still, we also observe severe limitations of the tried approach: Much of the savings are due to simple syntactic rules, noise in the data hampers the search for better prediction models, and some developers in the case company oppose the taken approach. Besides the main results on the mining and prediction of triggers for review remarks, we contribute experiences with a novel, multi-objective and interactive rule mining approach. The anonymized dataset from the company is made available, as are the implementations for the devised algorithms.

READ FULL TEXT

page 7

page 15

research
07/28/2020

A Survey of Software Code Review Practices in Brazil

Context: Software code review aims to early find code anomalies and to p...
research
02/04/2022

Using Large-scale Heterogeneous Graph Representation Learning for Code Review Recommendations

Code review is an integral part of any mature software development proce...
research
05/26/2019

Improving Change Prediction Models with Code Smell-Related Information

Code smells represent sub-optimal implementation choices applied by deve...
research
12/23/2018

A Multi-Objective Anytime Rule Mining System to Ease Iterative Feedback from Domain Experts

Data extracted from software repositories is used intensively in Softwar...
research
09/20/2018

Should I Bug You? Identifying Domain Experts in Software Projects Using Code Complexity Metrics

In any sufficiently complex software system there are experts, having a ...
research
09/11/2020

Supervised learning for the prediction of firm dynamics

Thanks to the increasing availability of granular, yet high-dimensional,...

Please sign up or login with your details

Forgot password? Click here to reset