Cargando…

The evolution of the code during review: an investigation on review changes

Code review is a software engineering practice in which reviewers manually inspect the code written by a fellow developer and propose any change that is deemed necessary or useful. The main goal of code review is to improve the quality of the code under review. Despite the widespread use of code rev...

Descripción completa

Detalles Bibliográficos
Autores principales: Fregnan, Enrico, Petrulio, Fernando, Bacchelli, Alberto
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer US 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9489594/
https://www.ncbi.nlm.nih.gov/pubmed/36159894
http://dx.doi.org/10.1007/s10664-022-10205-7
_version_ 1784792917404024832
author Fregnan, Enrico
Petrulio, Fernando
Bacchelli, Alberto
author_facet Fregnan, Enrico
Petrulio, Fernando
Bacchelli, Alberto
author_sort Fregnan, Enrico
collection PubMed
description Code review is a software engineering practice in which reviewers manually inspect the code written by a fellow developer and propose any change that is deemed necessary or useful. The main goal of code review is to improve the quality of the code under review. Despite the widespread use of code review, only a few studies focused on the investigation of its outcomes, for example, investigating the code changes that happen to the code under review. The goal of this paper is to expand our knowledge on the outcome of code review while re-evaluating results from previous work. To this aim, we analyze changes that happened during the review process, which we define as review changes. Considering three popular open-source software projects, we investigate the types of review changes (based on existing taxonomies) and what triggers them; also, we study which code factors in a code review are most related to the number of review changes. Our results show that the majority of changes relate to evolvability concerns, with a strong prevalence of documentation and structure changes at type-level. Furthermore, differently from past work, we found that the majority of review changes are not triggered by reviewers’ comments. Finally, we find that the number of review changes in a code review is related to the size of the initial patch as well as the new lines of code that it adds. However, other factors, such as lines deleted or the author of the review patchset, do not always show an empirically supported relationship with the number of changes.
format Online
Article
Text
id pubmed-9489594
institution National Center for Biotechnology Information
language English
publishDate 2022
publisher Springer US
record_format MEDLINE/PubMed
spelling pubmed-94895942022-09-22 The evolution of the code during review: an investigation on review changes Fregnan, Enrico Petrulio, Fernando Bacchelli, Alberto Empir Softw Eng Article Code review is a software engineering practice in which reviewers manually inspect the code written by a fellow developer and propose any change that is deemed necessary or useful. The main goal of code review is to improve the quality of the code under review. Despite the widespread use of code review, only a few studies focused on the investigation of its outcomes, for example, investigating the code changes that happen to the code under review. The goal of this paper is to expand our knowledge on the outcome of code review while re-evaluating results from previous work. To this aim, we analyze changes that happened during the review process, which we define as review changes. Considering three popular open-source software projects, we investigate the types of review changes (based on existing taxonomies) and what triggers them; also, we study which code factors in a code review are most related to the number of review changes. Our results show that the majority of changes relate to evolvability concerns, with a strong prevalence of documentation and structure changes at type-level. Furthermore, differently from past work, we found that the majority of review changes are not triggered by reviewers’ comments. Finally, we find that the number of review changes in a code review is related to the size of the initial patch as well as the new lines of code that it adds. However, other factors, such as lines deleted or the author of the review patchset, do not always show an empirically supported relationship with the number of changes. Springer US 2022-09-20 2022 /pmc/articles/PMC9489594/ /pubmed/36159894 http://dx.doi.org/10.1007/s10664-022-10205-7 Text en © The Author(s) 2022 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Article
Fregnan, Enrico
Petrulio, Fernando
Bacchelli, Alberto
The evolution of the code during review: an investigation on review changes
title The evolution of the code during review: an investigation on review changes
title_full The evolution of the code during review: an investigation on review changes
title_fullStr The evolution of the code during review: an investigation on review changes
title_full_unstemmed The evolution of the code during review: an investigation on review changes
title_short The evolution of the code during review: an investigation on review changes
title_sort evolution of the code during review: an investigation on review changes
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9489594/
https://www.ncbi.nlm.nih.gov/pubmed/36159894
http://dx.doi.org/10.1007/s10664-022-10205-7
work_keys_str_mv AT fregnanenrico theevolutionofthecodeduringreviewaninvestigationonreviewchanges
AT petruliofernando theevolutionofthecodeduringreviewaninvestigationonreviewchanges
AT bacchellialberto theevolutionofthecodeduringreviewaninvestigationonreviewchanges
AT fregnanenrico evolutionofthecodeduringreviewaninvestigationonreviewchanges
AT petruliofernando evolutionofthecodeduringreviewaninvestigationonreviewchanges
AT bacchellialberto evolutionofthecodeduringreviewaninvestigationonreviewchanges