SELGDec 22, 2018

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

arXiv:1812.09510v1
Originality Incremental advance
AI Analysis

This addresses the challenge of improving review efficiency for software developers in industrial settings, though it is incremental with noted limitations.

The study tackled the problem of reducing code review effort by predicting which parts of code changes can be safely omitted from review, achieving a reduction of 25% in change parts and 23% in changed lines while missing only about 1% of review remarks in an industrial case study.

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% of the change parts and of 23% of the changed Java source code lines, while missing only about 1% of the review 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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes