Javascript must be enabled to continue!
Software Metric Based Impact Analysis of Code Smells ‐ A Large Scale Empirical Study
View through CrossRef
ABSTRACTContextCode smells are indicators of poor design and implementation choices that negatively affect software quality and maintainability. Moreover, it is difficult and time‐consuming to work with a long list of the code smells, as not all of those smells have equal impact on the system. So, understanding the individual impact of the code smells is significant while performing refactorings on a priority basis.ObjectiveDespite significant research efforts aimed at detecting and refactoring these code smells, understanding their individual impact on software quality metrics such as size, complexity, coupling, etc. remains still unclear.MethodologyTo mitigate this research gap, we present an empirical investigation on the impact analysis of code smells based on the 25 software quality metrics such as size, cyclomatic complexity, coupling, etc. To the best of our knowledge, this is the largest empirical study about the impact analysis of code smells with respect to the number of software metrics. Particularly for this study, we identify 13 code smells in 35 open‐source software systems, and analyze (1) the relationship between code smells and software metrics, (2) which code smells are highly impactful that affect the metrics, and (3) which impactful smells occur frequently in the systems.ResultsThe results show varying degrees of correlation‐based impact between specific code smells and software metrics, with some smells showing strong correlations with multiple metrics. Three categories of impact for the code smells have been identified, namely High, Moderate and Low, where Long Method, Anti Singleton, Complex Class, Large Class and Long Parameter List smells have high impact, but their frequencies are not high except Anti Singleton; Refused Parent Bequest, Spaghetti Code and Blob have moderate impact; and rest of the smells have low impact. We also observe that perceptions about the impact of code smells vary from developer to developer and they most cases refactor the smells based on their intuition.ConclusionOur findings will help them to refactor the smells on an objective‐based instead of an intuition‐based, which will be more significant to improve the software quality. For example, refactoring the smells having a high impact on the coupling between objects metric can be an objective. Furthermore, our results will not only assist developers in prioritizing refactoring activities but also provide researchers with valuable insights to innovate tools that prioritize refactoring based on the impact of code smells. These tools will help developers target the most impactful smells and thus enhance the overall quality and maintainability of software systems.
Title: Software Metric Based Impact Analysis of Code Smells ‐ A Large Scale Empirical Study
Description:
ABSTRACTContextCode smells are indicators of poor design and implementation choices that negatively affect software quality and maintainability.
Moreover, it is difficult and time‐consuming to work with a long list of the code smells, as not all of those smells have equal impact on the system.
So, understanding the individual impact of the code smells is significant while performing refactorings on a priority basis.
ObjectiveDespite significant research efforts aimed at detecting and refactoring these code smells, understanding their individual impact on software quality metrics such as size, complexity, coupling, etc.
remains still unclear.
MethodologyTo mitigate this research gap, we present an empirical investigation on the impact analysis of code smells based on the 25 software quality metrics such as size, cyclomatic complexity, coupling, etc.
To the best of our knowledge, this is the largest empirical study about the impact analysis of code smells with respect to the number of software metrics.
Particularly for this study, we identify 13 code smells in 35 open‐source software systems, and analyze (1) the relationship between code smells and software metrics, (2) which code smells are highly impactful that affect the metrics, and (3) which impactful smells occur frequently in the systems.
ResultsThe results show varying degrees of correlation‐based impact between specific code smells and software metrics, with some smells showing strong correlations with multiple metrics.
Three categories of impact for the code smells have been identified, namely High, Moderate and Low, where Long Method, Anti Singleton, Complex Class, Large Class and Long Parameter List smells have high impact, but their frequencies are not high except Anti Singleton; Refused Parent Bequest, Spaghetti Code and Blob have moderate impact; and rest of the smells have low impact.
We also observe that perceptions about the impact of code smells vary from developer to developer and they most cases refactor the smells based on their intuition.
ConclusionOur findings will help them to refactor the smells on an objective‐based instead of an intuition‐based, which will be more significant to improve the software quality.
For example, refactoring the smells having a high impact on the coupling between objects metric can be an objective.
Furthermore, our results will not only assist developers in prioritizing refactoring activities but also provide researchers with valuable insights to innovate tools that prioritize refactoring based on the impact of code smells.
These tools will help developers target the most impactful smells and thus enhance the overall quality and maintainability of software systems.
Related Results
Exploring Test Smells Across Programming Languages: A Systematic Mapping Study
Exploring Test Smells Across Programming Languages: A Systematic Mapping Study
Tests are essential for ensuring code quality in software development.
However, poor implementation practices can compromise the
maintainability and evolution of test code, leading...
ANALISIS PERTIMBANGAN MAHKAMAH AGUNG DALAM MENGABULKAN KASASI TERDAKWA (STUDI PUTUSAN NOMOR 2959/K/PID.SUS/2022)
ANALISIS PERTIMBANGAN MAHKAMAH AGUNG DALAM MENGABULKAN KASASI TERDAKWA (STUDI PUTUSAN NOMOR 2959/K/PID.SUS/2022)
<p><em><span class="markedContent"><span style="left: calc(var(--scale-factor)*195.53px); top: calc(var(--scale-factor)*496.87px); font-size: calc(var(--scale-...
Discovering code smells in Javascript software using clustering techniques
Discovering code smells in Javascript software using clustering techniques
A presença de code smells em projetos de software têm consequências negativas no que diz respeito a coesão e manutenibilidade do código. Assim sendo, a análise de técnicas usadas p...
Test smells 20 years later: detectability, validity, and reliability
Test smells 20 years later: detectability, validity, and reliability
AbstractTest smells aim to capture design issues in test code that reduces its maintainability. These have been extensively studied and generally found quite prevalent in both huma...
An empirical study into the effects of transpilation on quantum circuit smells
An empirical study into the effects of transpilation on quantum circuit smells
AbstractQuantum computing is a promising field that can solve complex problems beyond traditional computers’ capabilities. Developing high-quality quantum software applications, ca...
Fixing Dockerfile smells: an empirical study
Fixing Dockerfile smells: an empirical study
AbstractDocker is the de facto standard for software containerization. A Dockerfile contains the requirements to build a Docker image containing a target application. There are sev...
Explaining the Imperfect: How do LLMs Respond to Smelly Code?
Explaining the Imperfect: How do LLMs Respond to Smelly Code?
Code smells are indicators of suboptimal design or implementation that contribute to technical debt, impairing software comprehensibility and maintainability. While Large Language ...
Dynamic stacking ensemble for cross-language code smell detection
Dynamic stacking ensemble for cross-language code smell detection
Code smells refer to poor design and implementation choices by software engineers that might affect the overall software quality. Code smells detection using machine learning model...

