Do code refactorings influence the merge effort?
André Oliveira, Vânia Neves, Alexandre Plastino, Ana Carla Bibiano, Alessandro F. Garcia, Leonardo Murta
Abstract
In collaborative software development, multiple contributors frequently change the source code in parallel to implement new features, fix bugs, refactor existing code, and make other changes. These simultaneous changes need to be merged into the same version of the source code. However, the merge operation can fail, and developer intervention is required to resolve the conflicts. Studies in the literature show that 10 to 20 percent of all merge attempts result in conflicts, which require the manual developer's intervention to complete the process. In this paper, we concern about a specific type of change that affects the structure of the source code and has the potential to increase the merge effort: code refactorings. We analyze the relationship between the occurrence of refactorings and the merge effort. To do so, we applied a data mining technique called association rule extraction to find patterns of behavior that allow us to analyze the influence of refactorings on the merge effort. Our experiments extracted association rules from 40,248 merge commits that occurred in 28 popular open-source projects. The results indicate that: (i) the occurrence of refactorings increases the chances of having merge effort; (ii) the more refactorings, the greater the chances of effort; (iii) the more refactorings, the greater the effort; and (iv) parallel refactorings increase even more the chances of having effort, as well as the intensity of it. The results obtained may suggest behavioral changes in the way refactorings are implemented by developer teams. In addition, they can indicate possible ways to improve tools that support code merging and those that recommend refactorings, considering the number of refactorings and merge effort attributes.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a70b4826-2910-475e-a145-965b2b217bbaRelated papers
- Planning for untangling: predicting the difficulty of merge conflictsCaius Brindescu, Iftekhar Ahmed, Rafael Leano, Anita SarmaICSE 2020 · 19 citations
- An Empirical Study on Release-Wise Refactoring PatternsShayan Noei, Heng Li, Ying ZouFSE 2025 · 1 citation
- Intelligent Change Operators for Multi-Objective RefactoringChaima Abid, James Ivers, Thiago do Nascimento Ferreira, Marouane Kessentini et al.ASE 2021 · 4 citations
- Inferring and Applying Def-Use Like Configuration Couplings in Deployment DescriptorsChengyuan Wen, Yaxuan Zhang, Xiao He, Na MengASE 2020 · 3 citations
- The untold story of code refactoring customizations in practiceDaniel Oliveira, Wesley K. G. Assunção, Alessandro F. Garcia, Ana Carla Bibiano et al.ICSE 2023 · 11 citations
