The role of patch review in software evolution: an analysis of the mozilla firefox
Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops
Impact of maintainability defects on code inspections
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
Optimizing cost and quality by integrating inspection and test processes
Proceedings of the 2011 International Conference on Software and Systems Process
Defect data analysis as input for software process improvement
PROFES'12 Proceedings of the 13th international conference on Product-Focused Software Process Improvement
An exploration of technical debt
Journal of Systems and Software
Who does what during a code review? datasets of OSS peer review repositories
Proceedings of the 10th Working Conference on Mining Software Repositories
Perceived causes of software project failures - An analysis of their relationships
Information and Software Technology
Hi-index | 0.00 |
Research on code reviews has often focused on defect counts instead of defect types, which offers an imperfect view of code review benefits. In this paper, we classified the defects of nine industrial (C/C++) and 23 student (Java) code reviews, detecting 388 and 371 defects, respectively. First, we discovered that 75 percent of defects found during the review do not affect the visible functionality of the software. Instead, these defects improved software evolvability by making it easier to understand and modify. Second, we created a defect classification consisting of functional and evolvability defects. The evolvability defect classification is based on the defect types found in this study, but, for the functional defects, we studied and compared existing functional defect classifications. The classification can be useful for assigning code review roles, creating checklists, assessing software evolvability, and building software engineering tools. We conclude that, in addition to functional defects, code reviews find many evolvability defects and, thus, offer additional benefits over execution-based quality assurance methods that cannot detect evolvability defects. We suggest that code reviews may be most valuable for software products with long life cycles as the value of discovering evolvability defects in them is greater than for short life cycle systems.