Using a Balanced Scorecard to Identify Opportunities to Improve Code Review Effectiveness: An Industrial Experience Report

01/26/2021
by   Masum Hasan, et al.
0

Peer code review is a widely adopted software engineering practice to ensure code quality and ensure software reliability in both the commercial and open-source software projects. Due to the large effort overhead associated with practicing code reviews, project managers often wonder, if their code reviews are effective and if there are improvement opportunities in that respect. Since project managers at Samsung Research Bangladesh (SRBD) were also intrigued by these questions, this research developed, deployed, and evaluated a production-ready solution using the Balanced SCorecard (BSC) strategy that SRBD managers can use in their day-to-day management to monitor individual developer's, a particular project's or the entire organization's code review effectiveness. Following the four-step framework of the BSC strategy, we: 1) defined the operation goals of this research, 2) defined a set of metrics to measure the effectiveness of code reviews, 3) developed an automated mechanism to measure those metrics, and 4) developed and evaluated a monitoring application to inform the key stakeholders. Our automated model to identify useful code reviews achieves 7.88 improvement in terms of accuracy and minority class F_1 score respectively over the models proposed in prior studies. It also outperforms human evaluators from SRBD, that the model replaces, by a margin of 19.01 terms of accuracy and minority class F_1 score. In our post-deployment survey, SRBD developers and managers indicated that they found our solution as useful and it provided them with important insights to help their decision makings.

READ FULL TEXT

page 21

page 22

research
02/13/2021

Why Security Defects Go Unnoticed during Code Reviews? A Case-Control Study of the Chromium OS Project

Peer code review has been found to be effective in identifying security ...
research
09/22/2021

Developers Perception of Peer Code Review in Research Software Development

Background: Research software is software developed by and/or used by re...
research
12/20/2019

CORE: Automating Review Recommendation for Code Changes

Code review is a common process that is used by developers, in which a r...
research
08/15/2020

Site Reliability Engineering: Application of Item Response Theory to Application Deployment Practices and Controls

Reliability of an application or solution in production environment is o...
research
09/30/2021

Predicting Code Review Completion Time in Modern Code Review

Context. Modern Code Review (MCR) is being adopted in both open source a...
research
07/05/2018

Impact of Continuous Integration on Code Reviews

Peer code review and continuous integration often interleave with each o...
research
03/17/2021

Worst Smells and Their Worst Reasons

The aims of this paper are: 1) to identify "worst smells", i.e., bad sme...

Please sign up or login with your details

Forgot password? Click here to reset