Does Code Smell Frequency Have a Relationship with Fault-proneness?

04/28/2023
by   Md Masudur Rahman, et al.
0

Fault-proneness is an indication of programming errors that decreases software quality and maintainability. On the contrary, code smell is a symptom of potential design problems which has impact on fault-proneness. In the literature, negative impact of code smells on fault-proneness has been investigated. However, it is still unclear that how frequency of each code smell type impacts on the fault-proneness. To mitigate this research gap, we present an empirical study to identify whether frequency of individual code smell types has a relationship with fault-proneness. More specifically, we identify 13 code smell types and fault-proneness of the corresponding smelly classes in the well-known open source systems from Apache and Eclipse ecosystems. Then we analyse the relationship between their frequency of occurrences based on the correlation. The results show that Anti Singleton, Blob and Class Data Should Be Private smell types have strong relationship with fault-proneness though their frequencies are not very high. On the other hand, comparatively high frequent code smell types such as Complex Class, Large Class and Long Parameter List have moderate relationship with fault-proneness. These findings will assist developers to prioritize code smells while performing refactoring activities in order to improve software quality.

READ FULL TEXT
research
03/31/2021

Investigating Design Anti-pattern and Design Pattern Mutations and Their Change- and Fault-proneness

During software evolution, inexperienced developers may introduce design...
research
07/20/2021

On the Interplay of Smells Large Class, Complex Class and Duplicate Code

Bad smells have been defined to describe potential problems in code, pos...
research
08/29/2023

Large Language Models in Fault Localisation

Large Language Models (LLMs) have shown promise in multiple software eng...
research
07/12/2022

The Untold Impact of Learning Approaches on Software Fault-Proneness Predictions

Software fault-proneness prediction is an active research area, with man...
research
04/05/2021

Predicting Crash Fault Residence via Simplified Deep Forest Based on A Reduced Feature Set

The software inevitably encounters the crash, which will take developers...
research
06/27/2023

Predicting the Impact of Batch Refactoring Code Smells on Application Resource Consumption

Automated batch refactoring has become a de-facto mechanism to restructu...
research
05/15/2018

A nonlinear and time-dependent visco-elasto-plastic rheology model for studying shock-physics phenomena

We present a simple and efficient implementation of a viscous creep rheo...

Please sign up or login with your details

Forgot password? Click here to reset