An Approach Based on Machine Learning for Predicting Software Design Problems

被引:0
作者
Keemps, Robson [1 ]
Farias, Kleinner [2 ]
Kunst, Rafael [2 ]
Dalzochio, Jovani [2 ]
机构
[1] IFMT, Cuiaba, MT, Brazil
[2] Univ Vale Rio dos Sinos, Sao Leopoldo, RS, Brazil
来源
PROCEEDINGS OF THE 19TH BRAZILIAN SYMPOSIUM ON INFORMATION SYSTEMS | 2023年
关键词
Software Design Problem; Prediction; Empirical Study; Machine Learning; SI Design; CODE SMELL DETECTION;
D O I
10.1145/3592813.3592888
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Software design problems emerge when internal structures of source code challenge design principles or rules. The prediction of design problems plays an essential role in the software development industry, identifying defective architectural modules in advance. Problem: The current literature lacks approaches that help software developers in predicting software design problems. Consequently, design problems end up being identified late. Solution: This article proposes a machine learning-based approach to assist software developers in predicting design problems. Theory of IS: This work was conceived under the aegis of the General Theory of Systems, in particular with regard to the interfaces between the parts of a system within its borders. In this case, the parts are themselves independent systems, called constituents, which include some information systems. Method: The research has a prescriptive character, and its evaluation was carried out through experiments and proof of concept. The analysis of the results was performed with a quantitative approach. Summary of Results: The conceived approach demonstrated to be successful, being able to identify the most relevant features and identify design problems from metrics, since classification and prediction were effective in 96% and 60% of cases, respectively. Contributions and Impact in the IS area: The main contribution is to propose an approach to classify and predict ever-present design problems in IS. Thus, our research sheds light on the need for SI maintenance to avoid architectural degradation that requires either significant maintenance effort or the complete SI redesign.
引用
收藏
页码:53 / 60
页数:8
相关论文
共 28 条
[1]   Bad Smell Detection Using Machine Learning Techniques: A Systematic Literature Review [J].
Al-Shaaby, Ahmed ;
Aljamaan, Hamoud ;
Alshayeb, Mohammad .
ARABIAN JOURNAL FOR SCIENCE AND ENGINEERING, 2020, 45 (04) :2341-2369
[2]   Poster: Machine Learning based Code Smell Detection through WekaNose [J].
Azadi, Umberto ;
Fontana, Francesca Arcelli ;
Zanoni, Marco .
PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, :288-289
[3]   Machine learning techniques for code smell detection: A systematic literature review and meta-analysis [J].
Azeem, Muhammad Ilyas ;
Palomba, Fabio ;
Shi, Lin ;
Wang, Qing .
INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 108 :115-138
[4]  
Bass L., 2021, Software architecture in practice, V4th
[5]   Software Product Quality Metrics: A Systematic Mapping Study [J].
Colakoglu, Fatima Nur ;
Yazici, Ali ;
Mishra, Alok .
IEEE ACCESS, 2021, 9 (09) :44647-44670
[6]   Comparing and experimenting machine learning techniques for code smell detection [J].
Fontana, Francesca Arcelli ;
Mantyla, Mika V. ;
Zanoni, Marco ;
Marino, Alessandro .
EMPIRICAL SOFTWARE ENGINEERING, 2016, 21 (03) :1143-1191
[7]  
Fowler M., 1999, Refactoring: improving the design of existing code
[8]   Analysis and Prioritization of Design Metrics [J].
Garg, Ritu ;
Singh, R. K. .
INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND DATA SCIENCE, 2020, 167 :1495-1504
[9]   Software design patterns classification and selection using text categorization approach [J].
Hussain, Shahid ;
Keung, Jacky ;
Khan, Arif Ali .
APPLIED SOFT COMPUTING, 2017, 58 :225-244
[10]  
Jackson D., 2021, The Essence of Software: Why Concepts Matter for Great Design