Journal
APPLIED SCIENCES-BASEL
Volume 13, Issue 6, Pages -Publisher
MDPI
DOI: 10.3390/app13063722
Keywords
software quality; CK metrics; software cohesion metrics; machine learning; LCOM
Ask authors/readers for more resources
The cohesion value is an important factor for evaluating software maintainability. However, measuring cohesion manually can be challenging. This study utilized static code analysis tools and machine learning techniques to predict cohesion values for different software metrics. The results showed that KNN algorithm performed best for LCOM2 and TCC metrics, while the REPTree algorithm was the best for LCC and LSCC metrics. RF, REPTree, and KNN techniques had similar performances and can be used for software cohesion metric prediction.
The cohesion value is one of the important factors used to evaluate software maintainability. However, measuring the cohesion value is a relatively difficult issue when tracing the source code manually. Although there are many static code analysis tools, not every tool measures every metric. The user should apply different tools for different metrics. In this study, besides the use of these tools, we predicted the cohesion values (LCOM2, TCC, LCC, and LSCC) with machine learning techniques (KNN, REPTree, multi-layer perceptron, linear regression (LR), support vector machine, and random forest (RF)) to solve them alternatively. We created two datasets utilizing two different open-source software projects. According to the obtained results, for the LCOM2 and TCC metrics, the KNN algorithm provided the best results, and for LCC and LSCC metrics, the REPTree algorithm was the best. However, out of all the metrics, RF, REPTree, and KNN had close performances with each other, and therefore any of the RF, REPTree, and KNN techniques can be used for software cohesion metric prediction.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available