Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Overview of Bad Code Smells in Software Development and Researches

View through CrossRef
Abstract This study examines the occurrence, influence, and moderation of bad code smells in software development through a hybrid research methodology combining qualitative inspection and quantitative code investigation. Code smells, which are surface level indications of deeper strategy concerns, adversely disturb software maintainability, readability, and evolution. The exploration concentrated on two widely used opensource projects; Spring PetClinic (Java) and Axios (JavaScript)and utilized three static analysis tools: SonarQube, PMD, and JDeodorant. The enquiry was piloted in two phases: pre-refactoring smell detection and post-refactoring evaluation.Initial discoveries exposed a total of 72 code smell instances in Spring PetClinic and 25 in Axios, with Long Method (24 instances) and Duplicated Code (17 instances) being the most repeated in the previous, and Long Function (10 instances) and Deep Nesting (7 instances) predominant in the latter. These smells were dispersed across perilous files like VisitController.java and lib/core/Axios.js, indicating architectural hotspots. A heatmap analysis presented a strong correlation between code smell occurrence and code complexity, particularly in smells such as God Class (complexity score: 9/10) and Long Method (8/10).Following manual refactoring using Fowler’s catalog of techniques including Extract Method, Move Method, and Split Classsignificant decreases were attained. In Spring PetClinic, Long Method instances decreased by 50%, Duplicated Code by 70.5%, and Feature Envy by 54.5%. In Axios, Long Functions were compacted by 60%, Duplicated Logicby 62.5%, and Deep Nesting by 57.1%.Tool validation metrics establisheddiscrepancies in discoverycompetences: SonarQubeverified the maximumrecall (0.91), PMDthe maximumprecision (0.81), and JDeodorant a stable performance (F1-score = 0.81). These outcomesconfirmed that no single tool offers complete coverage, and a multitool approach, complemented by human verdict, is essential for dependable code quality valuation.Generally, the study endorses that bad code smells are language agnostic but context dependent, and that directed refactoring can yield up to 70% improvement in design quality. The exploration contributes practical comprehensions for developers, maintainers, and software quality analysts, encouraging for the integration of automated smell detection tools into continuous integration pipelines and the properaddition of code smell alertness in software engineering education.
Title: Overview of Bad Code Smells in Software Development and Researches
Description:
Abstract This study examines the occurrence, influence, and moderation of bad code smells in software development through a hybrid research methodology combining qualitative inspection and quantitative code investigation.
Code smells, which are surface level indications of deeper strategy concerns, adversely disturb software maintainability, readability, and evolution.
The exploration concentrated on two widely used opensource projects; Spring PetClinic (Java) and Axios (JavaScript)and utilized three static analysis tools: SonarQube, PMD, and JDeodorant.
The enquiry was piloted in two phases: pre-refactoring smell detection and post-refactoring evaluation.
Initial discoveries exposed a total of 72 code smell instances in Spring PetClinic and 25 in Axios, with Long Method (24 instances) and Duplicated Code (17 instances) being the most repeated in the previous, and Long Function (10 instances) and Deep Nesting (7 instances) predominant in the latter.
These smells were dispersed across perilous files like VisitController.
java and lib/core/Axios.
js, indicating architectural hotspots.
A heatmap analysis presented a strong correlation between code smell occurrence and code complexity, particularly in smells such as God Class (complexity score: 9/10) and Long Method (8/10).
Following manual refactoring using Fowler’s catalog of techniques including Extract Method, Move Method, and Split Classsignificant decreases were attained.
In Spring PetClinic, Long Method instances decreased by 50%, Duplicated Code by 70.
5%, and Feature Envy by 54.
5%.
In Axios, Long Functions were compacted by 60%, Duplicated Logicby 62.
5%, and Deep Nesting by 57.
1%.
Tool validation metrics establisheddiscrepancies in discoverycompetences: SonarQubeverified the maximumrecall (0.
91), PMDthe maximumprecision (0.
81), and JDeodorant a stable performance (F1-score = 0.
81).
These outcomesconfirmed that no single tool offers complete coverage, and a multitool approach, complemented by human verdict, is essential for dependable code quality valuation.
Generally, the study endorses that bad code smells are language agnostic but context dependent, and that directed refactoring can yield up to 70% improvement in design quality.
The exploration contributes practical comprehensions for developers, maintainers, and software quality analysts, encouraging for the integration of automated smell detection tools into continuous integration pipelines and the properaddition of code smell alertness in software engineering education.

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...
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...
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...
Design of testing framework for code smell detection (OOPS) using BFO algorithm
Design of testing framework for code smell detection (OOPS) using BFO algorithm
Detection of bad smells refers to any indication in the program code of a execution that perhaps designate a issue, maintain the software and software evolution. Code Smell detecti...
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 ...
The Impact of Code Smells on Software Bugs: a Systematic Literature Review
The Impact of Code Smells on Software Bugs: a Systematic Literature Review
Context: Code smells are associated with poor design and programming style that often degrades code quality and hampers code comprehensibility and maintainability. Goal: Identify r...
Explaining the Imperfect: How do LLMs Respond to Smelly Code?
Explaining the Imperfect: How do LLMs Respond to Smelly Code?
Code smells, indicators of suboptimal design or implementation, contribute to technical debt by impairing software comprehensibility and maintainability. While Large Language Model...

Back to Top