publication . Conference object . 2018

Structural Quality Metrics as Indicators of the Long Method Bad Smell: An Empirical Study

An Empirical Study
Charalampidou, Sofia; Arvanitou, Elvira-Maria; Ampatzoglou, Apostolos; Chatzigeorgiou, Alexander; Avgeriou, Paris; Stamelos, Ioannis;
Open Access
  • Published: 22 Oct 2018
  • Publisher: Institute of Electrical and Electronics Engineers (IEEE)
  • Country: Netherlands
Abstract
Empirical evidence has pointed out that Extract Method refactorings are among the most commonly applied refactorings by software developers. The identification of Long Method code smells and the ranking of the associated refactoring opportunities is largely based on the use of metrics, primarily with measures of cohesion, size and coupling. Despite the relevance of these proper-ties to the presence of large, complex and non-cohesive pieces of code, the empirical validation of these metrics has exhibited relatively low accuracy (max precision: 66%) regarding their predictive power for long methods or extract method opportunities. In this work we perform an empirical validation of the ability of cohesion, coupling and size metrics to predict the existence and the intensity of long method occurrences. According to the statistical analysis, the existence and the intensity of the Long Method smell can be effectively predicted by two size (LoC and NoLV), two coupling (MPC and RFC), and four cohesion (LCOM1, LCOM2, Coh, and CC) metrics. Furthermore, the integration of these metrics into a multiple logistic regression model can predict whether a method should be refactored with a precision of 89% and a recall of 91%. The model yields suggestions whose ranking is strongly correlated to the ranking based on the effect of the corresponding refactorings on source code (correl. coef. 0.520). The results are discussed by providing interpretations and implications for research and practice.
Sustainable Development Goals (SDG) [Beta]
Subjects
free text keywords: Cohesion (computer science), Computer science, Data mining, computer.software_genre, computer, Software, business.industry, business, Source code, media_common.quotation_subject, media_common, Empirical evidence, Method Code, Code refactoring, Empirical research, Predictive power
Related Organizations
Funded by
EC| SDK4ED
Project
SDK4ED
Software Development toolKit for Energy optimization and technical Debt elimination
  • Funder: European Commission (EC)
  • Project Code: 780572
  • Funding stream: H2020 | RIA
Validated by funder
Download fromView all 6 versions
Open Access
NARCIS
Conference object . 2018
Providers: NARCIS
Open Access
ZENODO
Conference object . 2018
Providers: ZENODO
Any information missing or wrong?Report an Issue