Assessing the Students' Understanding and their Mistakes in Code Review Checklists – An Experience Report of 1,791 Code Review Checklist Questions from 394 Students

01/13/2021
by   Chun Yong Chong, et al.
0

Code review is a widely-used practice in software development companies to identify defects. Hence, code review has been included in many software engineering curricula at universities worldwide. However, teaching code review is still a challenging task because the code review effectiveness depends on the code reading and analytical skills of a reviewer. While several studies have investigated the code reading techniques that students should use to find defects during code review, little has focused on a learning activity that involves analytical skills. Indeed, developing a code review checklist should stimulate students to develop their analytical skills to anticipate potential issues (i.e., software defects). Yet, it is unclear whether students can anticipate potential issues given their limited experience in software development (programming, testing, etc.). We perform a qualitative analysis to investigate whether students are capable of creating code review checklists, and if the checklists can be used to guide reviewers to find defects. In addition, we identify common mistakes that students make when developing a code review checklist. Our results show that while there are some misconceptions among students about the purpose of code review, students are able to anticipate potential defects and create a relatively good code review checklist. Hence, our results lead us to conclude that developing a code review checklist can be a part of the learning activities for code review in order to scaffold students' skills.

READ FULL TEXT

page 1

page 2

page 8

research
02/11/2023

On the Use of Static Analysis to Engage Students with Software Quality Improvement: An Experience with PMD

Static analysis tools are frequently used to scan the source code and de...
research
01/16/2019

Bridging the Educational Gap between Emerging and Established Scientific Computing Disciplines

In this paper we describe our experience in developing curriculum course...
research
12/30/2019

Expanding the scope of statistical computing: Training statisticians to be software engineers

Traditionally, statistical computing courses have taught the syntax of a...
research
05/28/2018

The effects of change-decomposition on code review - A Controlled Experiment

Background: Code review is a cognitively demanding and time-consuming pr...
research
05/19/2022

Probabilistic genotyping code review and testing

We discuss a range of miscodes found in probabilistic genotyping (PG) so...
research
01/26/2023

Analyzing the Quality of Submissions in Online Programming Courses

Programming education should aim to provide students with a broad range ...
research
02/11/2021

An Inquisitive Code Editor for Addressing Novice Programmers' Misconceptions of Program Behavior

Novice programmers face numerous barriers while attempting to learn how ...

Please sign up or login with your details

Forgot password? Click here to reset