Abstract

User requirements for a software system frequently evolve with time, and developers sometimes make incorrect implementation choices while meeting such requirements. These choices tend to introduce system flaws, i.e., bad smells in the program's source code. Bad smells do not disturb the normal functioning of a system, but they might worsen the software quality by increasing its complexity. Software metrics play a significant role in the analysis of object-oriented properties of a system. Also, change in software metrics’ values are often used to predict bad smells in a code. In the current study, an investigation has been conducted on four open-source projects. The concept of Critical Metric Value (CMV) has been introduced in the current study, and its impact on the occurrence of five selected bad smells has been examined to establish a relationship between software metrics and bad smells. CMV is that value of any software metric that is considered an outlier when compared to the rest of the metric values. The selected bad smells have been categorized as Null, Only, and Multiple based on the presence of CMV in a class. This study shows that 37.3% of the total classes have been affected by bad smells. Long statement bad smell pre-dominantly affects the selected systems as it is present in 25.74% classes. The experiment's findings show that 82.5% of the total bad smells occur in a class that consists of at least one CMV. The current study helps to establish a relationship between the bad smells and critical software metrics.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call