Header

UZH-Logo

Maintenance Infos

Test-Driven Code Review: An Empirical Study


Spadini, Davide; Palomba, Fabio; Baum, Tobias; Hanenberg, Stefan; Bruntink, Magiel; Bacchelli, Alberto (2019). Test-Driven Code Review: An Empirical Study. In: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), Montreal, QC, Canada, 25 June 2019 - 1 July 2019, 1061-1072.

Abstract

Test-Driven Code Review (TDR) is a code review practice in which a reviewer inspects a patch by examining the changed test code before the changed production code. Although this practice has been mentioned positively by practitioners in informal literature and interviews, there is no systematic knowledge of its effects, prevalence, problems, and advantages. In this paper, we aim at empirically understanding whether this practice has an effect on code review effectiveness and how developers' perceive TDR. We conduct (i) a controlled experiment with 93 developers that perform more than 150 reviews, and (ii) 9 semi-structured interviews and a survey with 103 respondents to gather information on how TDR is perceived. Key results from the experiment show that developers adopting TDR find the same proportion of defects in production code, but more in test code, at the expenses of fewer maintainability issues in production code. Furthermore, we found that most developers prefer to review production code as they deem it more critical and tests should follow from it. Moreover, general poor test code quality and no tool support hinder the adoption of TDR. Public preprint: [https: //doi.org/10.5281/zenodo.2551217], data and materials: [https:// doi.org/10.5281/zenodo.2553139].

Abstract

Test-Driven Code Review (TDR) is a code review practice in which a reviewer inspects a patch by examining the changed test code before the changed production code. Although this practice has been mentioned positively by practitioners in informal literature and interviews, there is no systematic knowledge of its effects, prevalence, problems, and advantages. In this paper, we aim at empirically understanding whether this practice has an effect on code review effectiveness and how developers' perceive TDR. We conduct (i) a controlled experiment with 93 developers that perform more than 150 reviews, and (ii) 9 semi-structured interviews and a survey with 103 respondents to gather information on how TDR is perceived. Key results from the experiment show that developers adopting TDR find the same proportion of defects in production code, but more in test code, at the expenses of fewer maintainability issues in production code. Furthermore, we found that most developers prefer to review production code as they deem it more critical and tests should follow from it. Moreover, general poor test code quality and no tool support hinder the adoption of TDR. Public preprint: [https: //doi.org/10.5281/zenodo.2551217], data and materials: [https:// doi.org/10.5281/zenodo.2553139].

Statistics

Citations

Dimensions.ai Metrics
3 citations in Web of Science®
6 citations in Scopus®
Google Scholar™

Altmetrics

Downloads

4 downloads since deposited on 26 Jan 2021
4 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Conference or Workshop Item (Paper), refereed, original work
Communities & Collections:03 Faculty of Economics > Department of Informatics
Dewey Decimal Classification:000 Computer science, knowledge & systems
Scopus Subject Areas:Physical Sciences > Software
Language:English
Event End Date:1 July 2019
Deposited On:26 Jan 2021 10:41
Last Modified:27 Jan 2021 21:02
Publisher:IEEE
ISBN:978-1-7281-0869-8
OA Status:Green
Publisher DOI:https://doi.org/10.1109/ICSE.2019.00110
Other Identification Number:merlin-id:20220

Download

Green Open Access

Download PDF  'Test-Driven Code Review: An Empirical Study'.
Preview
Content: Published Version
Filetype: PDF
Size: 469kB
View at publisher