Impact of Change Granularity in Refactoring Detection

04/24/2022
by   Lei Chen, et al.
0

Detecting refactorings in commit history is essential to improve the comprehension of code changes in code reviews and to provide valuable information for empirical studies on software evolution. Several techniques have been proposed to detect refactorings accurately at the granularity level of a single commit. However, refactorings may be performed over multiple commits because of code complexity or other real development problems, which is why attempting to detect refactorings at single-commit granularity is insufficient. We observe that some refactorings can be detected only at coarser granularity, that is, changes spread across multiple commits. Herein, this type of refactoring is referred to as coarse-grained refactoring (CGR). We compared the refactorings detected on different granularities of commits from 19 open-source repositories. The results show that CGRs are common, and their frequency increases as the granularity becomes coarser. In addition, we found that Move-related refactorings tended to be the most frequent CGRs. We also analyzed the causes of CGR and suggested that CGRs will be valuable in refactoring research.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/10/2020

Refactoring Graphs: Assessing Refactoring over Time

Refactoring is an essential activity during software evolution. Frequent...
research
05/23/2023

Multi-Granularity Detector for Vulnerability Fixes

With the increasing reliance on Open Source Software, users are exposed ...
research
07/27/2020

Long-Term Evaluation of Technical Debt in Open-Source Software

Existing software tools enable characterizing and measuring the amount o...
research
01/20/2022

Evaluating the Performance of Clone Detection Tools in Detecting Cloned Co-change Candidates

Co-change candidates are the group of code fragments that require a chan...
research
03/04/2021

Time granularity impact on propagation of disruptions in a system-of-systems simulation of infrastructure and business networks

System-of-systems (SoS) approach is often used for simulating disruption...
research
03/27/2019

Microservice Transition and its Granularity Problem: A Systematic Mapping Study

Microservices have gained wide recognition and acceptance in software in...
research
08/07/2023

Using Range-Revocable Pseudonyms to Provide Backward Unlinkability in the Edge (Extended Version)

In this paper we propose a novel abstraction that we have named Range-Re...

Please sign up or login with your details

Forgot password? Click here to reset