An Approach Based on Machine Learning for Predicting Software Design Problems

Robson Keemps Silva, Kleinner Farias, Rafael Kunst, Jovani Dalzochio · 2023

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.

Read the paper · More papers on PaperTik