4.7 Article

A probabilistic-based approach for automatic identification and refactoring of software code smells

期刊

APPLIED SOFT COMPUTING
卷 130, 期 -, 页码 -

出版社

ELSEVIER
DOI: 10.1016/j.asoc.2022.109658

关键词

Software anti -patterns; Refactoring; Probabilistic graphical models

向作者/读者索取更多资源

This paper introduces a framework based on probabilistic graphical models for identifying and refactoring anti-patterns. The approach involves training a Bayesian network to determine the presence of anti-patterns based on the characteristics of neighboring classes. Evaluation results demonstrate the model's strong performance in identifying anti-patterns and introducing effective refactoring methods.
Programmers strive to design programs that are flexible, updateable, and maintainable. However, several factors such as lack of time, high costs, and workload lead to the creation of software with inadequacies known as anti-patterns. To identify and refactor software anti-patterns, many research studies have been conducted using machine learning. Even though some of the previous works were very accurate in identifying anti-patterns, a method that takes into account the relationships between different structures is still needed. Furthermore, a practical method is needed that is trained according to the characteristics of each program. This method should be able to identify anti-patterns and perform the necessary refactorings. This paper proposes a framework based on probabilistic graphical models for identifying and refactoring anti-patterns. A graphical model is created by extracting the class properties from the source code. As a final step, a Bayesian network is trained, which determines whether anti-patterns are present or not based on the characteristics of neighboring classes. To evaluate the proposed approach, the model is trained on six different anti-patterns and six different Java programs. The proposed model has identified these anti-patterns with a mean accuracy of 85.16 percent and a mean recall of 79%. Additionally, this model has been used to introduce several methods for refactoring, and it has been shown that these refactoring methods will ultimately create a system with less coupling and higher cohesion.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.7
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据