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

Assessing the Students' Understanding and their Mistakes in Code Review Checklists: An Experience Report of 1,791 Code Review Checklist Questions from 394 Students
复制标题

评估学生对代码审查清单的理解和错误:来自 394 名学生的 1,791 个代码审查清单问​​题的经验报告

DOI:
--
复制
发表时间:
2021
期刊:
2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)
影响因子:
--
通讯作者:
C. Tantithamthavorn
C. Tantithamthavorn
中科院分区:
--
文献类型:
--
作者:
Chun Yong Chong;Patanamon Thongtanunam;C. Tantithamthavorn

文献摘要

被引文献

相似文献

代码审查是软件开发公司中广泛使用的一种识别缺陷的实践。因此,代码审查已被纳入世界各地大学的许多软件工程课程。然而,教授代码审查仍然是一项具有挑战性的任务,因为代码审查的有效性取决于审查者的代码阅读和分析技能。虽然有几项研究调查了学生在代码审查期间应该使用的代码阅读技术来发现缺陷,但很少关注涉及分析技能的学习活动。事实上,开发代码审查清单应该激励学生发展他们的分析技能,以预测潜在的问题(即,软件缺陷)。然而,由于学生在软件开发(编程,测试等)方面的经验有限,目前还不清楚他们是否能够预测潜在的问题。我们进行了定性分析,以调查学生是否能够创建代码审查清单,如果清单可以用来指导审查人员找到缺陷。此外,我们还确定了学生在编写代码审查检查表时所犯的常见错误。我们的研究结果表明,虽然有一些误解的学生对代码审查的目的,学生能够预测潜在的缺陷,并创建一个相对良好的代码审查清单。因此,我们的研究结果使我们得出结论,开发一个代码审查清单可以是代码审查的学习活动的一部分,以支架学生的技能。
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.