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

被引:12
作者
Chong, Chun Yong [1 ]
Thongtanunam, Patanamon [2 ]
Tantithamthavorn, Chakkrit [3 ]
机构
[1] Monash Univ, Sch IT, Clayton, Vic, Australia
[2] Univ Melbourne, Melbourne, Vic, Australia
[3] Monash Univ, Clayton, Vic, Australia
来源
2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: JOINT TRACK ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (ICSE-JSEET 2021) | 2021年
基金
澳大利亚研究理事会;
关键词
Software Engineering Education; Assessment Methods for Software Quality Assurance; Checklist-based Code Review; INSPECTIONS;
D O I
10.1109/ICSE-SEET52601.2021.00011
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:20 / 29
页数:10
相关论文
共 38 条
[1]  
[Anonymous], 2013, P 2013 9 JOINT M FDN
[2]  
[Anonymous], 2014, Proceedings of the 11th Working Conference on Mining Software Repositories. MSR 2014
[3]   State-of-the-art: software inspections after 25 years [J].
Aurum, A ;
Petersson, H ;
Wohlin, C .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2002, 12 (03) :133-154
[4]  
Bacchelli A, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P712, DOI 10.1109/ICSE.2013.6606617
[5]  
Brykczynski B., 1999, Software Engineering Notes, V24, P82, DOI 10.1145/308769.308798
[6]  
Chong C., 2021, P INT C SOFTWARE ENG, P20, DOI [10.5281/zenodo.4431059, DOI 10.5281/ZENODO.4431059]
[7]   The development and evaluation of three diverse techniques for object-oriented code inspection [J].
Dunsmore, A ;
Roper, M ;
Wood, M .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (08) :677-686
[8]   Practical code inspections techniques for object-oriented systems: An experimental comparison [J].
Dunsmore, A ;
Roper, M ;
Wood, M .
IEEE SOFTWARE, 2003, 20 (04) :21-+
[9]  
Fagan M., 2002, Software pioneers, P575
[10]  
Fagan M.E., 2001, Pioneers and Their Contributions to Software Engineering, P335, DOI DOI 10.1007/978-3-642-48354-7_14