Process improvement of peer code review and behavior analysis of its participants

The software industry is urging on universities and colleges to cultivate software engineers who can write high quality programs. Peer code review (PCR) is accepted as an ideal way to maximize the learning outcome of students in writing quality code. Using this learning process, students improve their skills while scientific and efficient management removes the extra burden from instructors such as checking programs written by every student. In this paper, the previous PCR process was improved and the definitions of the relevant roles and documents were refined as well. After implementing this process in two academic years, some problems were found. By means of summarizing the email submissions by the students and also interviewing a few students, the behavior of all participants was preliminarily analyzed. With regards to the further quality assurance and high efficiency, a web-based management information system with a built-in blind review mechanism was discussed for solving the problems with process control, and also a game theory model was proposed for addressing the ethical issues in the whole PCR process.

[1]  Deborah Anne Trytten,et al.  A design for team peer code review , 2005, SIGCSE '05.

[2]  Eran Yahav,et al.  Continuous code-quality assurance with SAFE , 2006, PEPM '06.

[3]  David Greathead,et al.  Does personality matter?: an analysis of code-review ability , 2007, CACM.

[4]  Manuel A. Pérez-Quiñones,et al.  Using peer review in teaching computing , 2005 .

[5]  Steve Hansen,et al.  Web Engineering: A New Discipline for Development of Web-Based Systems , 2001, Web Engineering.

[6]  Watts S. Humphrey,et al.  Introduction to the Personal Software Process , 1996 .

[7]  Dominique Sluijsmans,et al.  Creating a Learning Environment by Using Self-, Peer- and Co-Assessment , 1998 .

[8]  Fevzi Belli,et al.  Towards automation of checklist-based code-reviews , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[9]  Abhir Bhalerao,et al.  Towards electronically assisted peer assessment: a case study , 2001 .

[10]  Mike Joy,et al.  Effective peer assessment for learning computer programming , 2004, ITiCSE '04.

[11]  Dilvan A. Moreira,et al.  WebCoM: a tool to use peer review to improve student interaction , 2003, JERC.

[12]  Akito Monden,et al.  Analyzing individual performance of source code review using reviewers' eye movement , 2006, ETRA.

[13]  San Murugesan,et al.  Web Engineering : Managing Diversity and Complexity of Web Application Development , 2001 .

[14]  Ho-Jin Choi,et al.  A reflective practice of automated and manual code reviews for a studio project , 2005, Fourth Annual ACIS International Conference on Computer and Information Science (ICIS'05).

[15]  Manuel A. Pérez-Quiñones,et al.  Using peer review in teaching computing , 2005, SIGCSE '05.

[16]  Deborah A. Trytten A design for team peer code review , 2005 .

[17]  Shaoying Liu,et al.  A tool and case study for specification-based program review , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[18]  Aliisa Mylonas,et al.  Developing Procedures for Implementing Peer Assessment in Large Classes Using an Action Research Process , 2002 .

[19]  S. Fallows,et al.  Multiple Approaches to Assessment: Reflections on use of tutor, peer and self-assessment , 2001 .