On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint

08/05/2019
by   Steve Counsell, et al.
0

[Background] Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. [Aim] The goal of this paper is to investigate the highest and lowest quartile of refactoring-based data using two coupling metrics - the Coupling between Objects metric and the more recent Conceptual Coupling between Classes metric to answer this question. Can refactoring trends and patterns be identified based on the level of class coupling? [Method] In this paper, we analyze over six thousand refactoring operations drawn from releases of three open-source systems to address one such question. [Results] Results showed no meaningful difference in the types of refactoring applied across either lower or upper quartile of coupling for both metrics; refactorings usually associated with coupling removal were actually more numerous in the lower quartile in some cases. A lack of inheritance-related refactorings across all systems was also noted. [Conclusions] The emerging message (and a perplexing one) is that developers seem to be largely indifferent to classes with high coupling when it comes to refactoring types - they treat classes with relatively low coupling in almost the same way.

READ FULL TEXT
research
03/12/2021

Combining Dynamic Analysis and Visualization to Explore the Distribution of Unit Test Suites

As software systems have grown in scale and complexity the test suites b...
research
06/03/2023

On the Empirical Evidence of Microservice Logical Coupling. A Registered Report

[Context] Coupling is a widely discussed metric by software engineers wh...
research
10/27/2017

A note on faithful coupling of Markov chains

One often needs to turn a coupling (X_i, Y_i)_i≥ 0 of a Markov chain int...
research
09/27/2019

Comparing Static and Dynamic Weighted Software Coupling Metrics

Coupling metrics are an established way to measure software architecture...
research
06/20/2020

Coupling-based Invertible Neural Networks Are Universal Diffeomorphism Approximators

Invertible neural networks based on coupling flows (CF-INNs) have variou...
research
03/15/2023

ROSE: A Neurocomputational Architecture for Syntax

A comprehensive model of natural language processing in the brain must a...
research
09/07/2023

Evaluating Microservice Organizational Coupling based on Cross-service Contribution

For traditional modular software systems, "high cohesion, low coupling" ...

Please sign up or login with your details

Forgot password? Click here to reset