SmellGuru: a machine learning-based approach to predict design problems
Descripción
Nowadays, the prediction of source code design problems plays an essential role in the software development industry, identifying defective architectural modules in advance. For this reason, some studies have explored this subject in the last decade due to relation with aspects of maintenance and modularity. Unfortunately, the current literature lacks (1) a generic workflow approach that contains key steps to predict design problems, (2) a language to allow developers to specify design problems, and (3) a machine learning model to generate predictions of design problems. Therefore, this dissertation proposes ModelGuru, which is a machine learning-based approach to predict design problems. In particular, this study (1) introduces an intelligible workflow that provides clear guidance to users and facilitates the inclusion of new strategies or steps to improve predictions; (2) proposes a domain-specific language (DSL) to specify bad smells, along with a tool support; and (3) proposes a machine model to support the prediction of design problems. In addition, this study carried out a systematic review of the literature that allowed creating an overview of the current literature on the subject of predicting design problems. An exploratory study was carried out to understand the impact of the proposed DSL on three variables: correctness rate of the created specifications, error-rate and time invested to elaborate the specifications of design problems. The initial results obtained, supported bystatistical tests, point to for encouraging results by revealing an above correct rate than 50%, error rate below 30% and effort less than 15 minutes to specify a bad smell. The evaluation of the proposed SmellGuru approach was carried out with 23 participants, students and professionals from Brazilian companies with professional experience in software development. It was possible to assess the perceived ease of use, perceived usefulness and behavioral intention of using the proposed SmellGuru approach. Respondents agree that SmellGuru is easy to interpret (43.47%), Innovative (60.86%) and would make the software easier to maintain (78.26%). Finally, this study draws up some implications and shows the potential of adopting the proposed approach for supporting the specification and prediction of design problems.Nenhuma