• Do Code Review Practices Impact Design Quality?  A Case Study of the Qt, VTK, and ITK Projects

 

Download as PDF file.

Abstract

Code review is the process of having other team members examine changes to a software system in order to evaluate its technical content and quality. A lightweight variant of this practice, often referred to as Modern Code Review (MCR), is widely adopted by software organizations today. Previous studies have established a relation between the practice of code review and the occurrence of post-release bugs. While the prior work studies the impact of code review practices on software release quality, it is still unclear what impact code review practices have on software design quality. Therefore, using the occurrence of 7 different types of anti-patterns (i.e., poor solutions to design and implementation problems) as a proxy for software design quality, we set out to investigate the relationship between code review practices and software design quality. Through a case study of the Qt, VTK and ITK open source projects, we find that software components with low review coverage or low review participation are often more prone to the occurrence of anti-patterns than those components with more active code review practices.

Data Set

Below is the data set to replicate our experiments. Please click on the icon to download the datasets in ZIP format.:

Download/Telecharger

Project Members

  • Rodrigo Morales, SWAT, École Polytechnique de Montréal, rodrigo.morales[AT]polymtl.ca
  • Shane McIntosh, SAIL, Queen's University, shanemcintosh[AT]acm.org
  • Foutse Khomh, SWAT, École Polytechnique de Montréal, foutsekh[AT]ieee.org

 

If you have any comments/questions regarding this research work, please feel free to contact any of the project members.

 

Disclaimer: The use of documents contained on this page is permitted for your convenience. However, permission to reprint/republish these documents for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of these documents in other works, must be obtained from the publishers of these documents.