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

Please sign up or login with your details

Forgot password? Click here to reset