  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.
