Cargando…

Quick remedy commits and their impact on mining software repositories

Most changes during software maintenance and evolution are not atomic changes, but rather the result of several related changes affecting different parts of the code. It may happen that developers omit needed changes, thus leaving a task partially unfinished, introducing technical debt or injecting...

Descripción completa

Detalles Bibliográficos
Autores principales: Wen, Fengcai, Nagy, Csaba, Lanza, Michele, Bavota, Gabriele
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer US 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8553712/
https://www.ncbi.nlm.nih.gov/pubmed/34744487
http://dx.doi.org/10.1007/s10664-021-10051-z
_version_ 1784591636286668800
author Wen, Fengcai
Nagy, Csaba
Lanza, Michele
Bavota, Gabriele
author_facet Wen, Fengcai
Nagy, Csaba
Lanza, Michele
Bavota, Gabriele
author_sort Wen, Fengcai
collection PubMed
description Most changes during software maintenance and evolution are not atomic changes, but rather the result of several related changes affecting different parts of the code. It may happen that developers omit needed changes, thus leaving a task partially unfinished, introducing technical debt or injecting bugs. We present a study investigating “quick remedy commits” performed by developers to implement changes omitted in previous commits. With quick remedy commits we refer to commits that (i) quickly follow a commit performed by the same developer, and (ii) aim at remedying issues introduced as the result of code changes omitted in the previous commit (e.g., fix references to code components that have been broken as a consequence of a rename refactoring) or simply improve the previously committed change (e.g., improve the name of a newly introduced variable). Through a manual analysis of 500 quick remedy commits, we define a taxonomy categorizing the types of changes that developers tend to omit. The taxonomy can (i) guide the development of tools aimed at detecting omitted changes and (ii) help researchers in identifying corner cases that must be properly handled. For example, one of the categories in our taxonomy groups the reverted commits, meaning changes that are undone in a subsequent commit. We show that not accounting for such commits when mining software repositories can undermine one’s findings. In particular, our results show that considering completely reverted commits when mining software repositories accounts, on average, for 0.07 and 0.27 noisy data points when dealing with two typical MSR data collection tasks (i.e., bug-fixing commits identification and refactoring operations mining, respectively).
format Online
Article
Text
id pubmed-8553712
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher Springer US
record_format MEDLINE/PubMed
spelling pubmed-85537122021-11-04 Quick remedy commits and their impact on mining software repositories Wen, Fengcai Nagy, Csaba Lanza, Michele Bavota, Gabriele Empir Softw Eng Article Most changes during software maintenance and evolution are not atomic changes, but rather the result of several related changes affecting different parts of the code. It may happen that developers omit needed changes, thus leaving a task partially unfinished, introducing technical debt or injecting bugs. We present a study investigating “quick remedy commits” performed by developers to implement changes omitted in previous commits. With quick remedy commits we refer to commits that (i) quickly follow a commit performed by the same developer, and (ii) aim at remedying issues introduced as the result of code changes omitted in the previous commit (e.g., fix references to code components that have been broken as a consequence of a rename refactoring) or simply improve the previously committed change (e.g., improve the name of a newly introduced variable). Through a manual analysis of 500 quick remedy commits, we define a taxonomy categorizing the types of changes that developers tend to omit. The taxonomy can (i) guide the development of tools aimed at detecting omitted changes and (ii) help researchers in identifying corner cases that must be properly handled. For example, one of the categories in our taxonomy groups the reverted commits, meaning changes that are undone in a subsequent commit. We show that not accounting for such commits when mining software repositories can undermine one’s findings. In particular, our results show that considering completely reverted commits when mining software repositories accounts, on average, for 0.07 and 0.27 noisy data points when dealing with two typical MSR data collection tasks (i.e., bug-fixing commits identification and refactoring operations mining, respectively). Springer US 2021-10-28 2022 /pmc/articles/PMC8553712/ /pubmed/34744487 http://dx.doi.org/10.1007/s10664-021-10051-z Text en © The Author(s) 2021 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
Wen, Fengcai
Nagy, Csaba
Lanza, Michele
Bavota, Gabriele
Quick remedy commits and their impact on mining software repositories
title Quick remedy commits and their impact on mining software repositories
title_full Quick remedy commits and their impact on mining software repositories
title_fullStr Quick remedy commits and their impact on mining software repositories
title_full_unstemmed Quick remedy commits and their impact on mining software repositories
title_short Quick remedy commits and their impact on mining software repositories
title_sort quick remedy commits and their impact on mining software repositories
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8553712/
https://www.ncbi.nlm.nih.gov/pubmed/34744487
http://dx.doi.org/10.1007/s10664-021-10051-z
work_keys_str_mv AT wenfengcai quickremedycommitsandtheirimpactonminingsoftwarerepositories
AT nagycsaba quickremedycommitsandtheirimpactonminingsoftwarerepositories
AT lanzamichele quickremedycommitsandtheirimpactonminingsoftwarerepositories
AT bavotagabriele quickremedycommitsandtheirimpactonminingsoftwarerepositories