Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/58831
Type: TCC
Title: Utilizando Algoritmos de Machine Learning Caixa Branca para Avaliar a Manutenibilidade dos Modelos de Features
Authors: Silva, Publio Blenilio Tavares
Advisor: Bezerra, Carla Ilane Moreira
Co-advisor: Machado, Ivan do Carmo
Keywords: Aprendizado do Computador;Engenharia de Linha de Produto de Software;Manutenibilidade;Modelo de Características
Issue Date: 2020
Citation: SILVA, Publio Blenilio Tavares. Utilizando Algoritmos de Machine Learning Caixa Branca para Avaliar a Manutenibilidade dos Modelos de Features. 2020. 86 f. Trabalho de Conclusão de Curso (Graduação em Engenharia de Software)-Universidade Federal do Ceará, Campus de Quixadá, Quixadá, 2020.
Abstract in Brazilian Portuguese: Linhas de Produtos de Software (LPS) são geralmente especificadas por meio de um modelo de features (MF), artefato concebido nas primeiras fases do ciclo de vida da LPS. Este artefato pode facilmente vir a se tornar demasiadamente complexo, o que dificulta a manutenção da LPS. Por isso, é essencial avaliar continuamente a manutenibilidade deste artefato, o que pode ser feito através de medidas. São descritas na literatura algumas abordagens que avaliam a manutenibilidade do MF por meio da agregação de medidas de manutenibilidade. Modelos de machine learning (ML) podem ser utilizados para criar estas abordagens, pois são capazes de agregar os valores de um conjunto de variáveis independentes em um único dado alvo, também chamado de variável dependente. Além disso, se forem utilizados modelos de ML caixa branca é possível interpretar e explicar os resultados obtidos com esse tipo de modelo de ML. Neste contexto, este trabalho se propõe a criar modelos de ML caixa branca para classificar a manutenibilidade do MF, com base em 15 medidas de manutenibilidade. Para construção dos modelos realizamos os seguintes passos: (i) comparamos duas abordagens de avaliação da manutenibilidade dos MFs por meio de um oráculo de classificações da manutenibilidade do MF feitas de forma manual por 15 especialistas em LPS; (ii) utilizamos a melhor das duas abordagens para pré-classificar o dataset de treinamento dos algoritmos de ML; (iii) geramos 3 modelos de ML e os comparamos com as métricas de classificação acurácia, precisão, recall, F1 e AUC-ROC; e, (iv) utilizamos o melhor dentre os 3 modelos para criar um mecanismo capaz de fornecer indicativos de melhoria aos engenheiros de domínio. O melhor dos 3 modelos utilizou o algoritmo de árvore de decisão que obteve acurácia, precisão e recall de 0.81, F1 de 0.79 e AUC-ROC de 0.91. Utilizando este modelo, conseguimos reduzir a quantidade de medidas necessárias para avaliar a manutenibilidade do MF de 15 para 9 medidas. A árvore de decisão gerada pelo algoritmo foi utilizada para criar um mecanismo capaz de fornecer sugestões de mudança nas medidas de manutenibilidade para que a manutenibilidade do artefato melhore.
Abstract: Software Product Lines (SPL) are generally specified using a Feature Model (FM), an artifact designed in the early stages of the SPL life cycle. This artifact can easily become too complex, which makes it difficult to maintain SPL. Therefore, it is essential to continuously assess the maintainability of this artifact, which can be done through measurements. Some approaches that assess the maintainability of the FM through the aggregation of maintenance measures are described in the literature. Machine Learning (ML) models can be used to create these approaches, as they can aggregate the values of a set of independent variables into a single target data, also called a dependent variable. Besides, if white box ML models are used, it is possible to interpret and explain the results obtained with this type of ML model. In this context, this work proposes to create ML white-box models to classify the maintainability of the FM, based on 15 maintenance measures. To build the models, we performed the following steps: (i) we compared two approaches to assess the maintainability of FMs through an oracle of FM maintainability classifications made manually by 15 SPL specialists; (ii) we use the best of the two approaches to pre-classify the ML dataset training dataset; (iii) we generated 3 ML models and compared them with the metrics of classification accuracy, precision, recall, F1 and AUC-ROC; and, (iv) we use the best of the 3 models to create a mechanism capable of providing improvement indicators to domain engineers. The best of the 3 models used the decision tree algorithm that obtained accuracy, precision, and recall of 0.81, F1 of 0.79, and AUC-ROC of 0.91. Using this model, we were able to reduce the number of measures needed to assess the maintainability of the FM from 15 to 9 measures. The decision tree generated by the algorithm was used to create a mechanism capable of providing suggestions for changing maintenance measures so that the maintainability of the artifact improves.
URI: http://www.repositorio.ufc.br/handle/riufc/58831
Appears in Collections:ENGENHARIA DE SOFTWARE - QUIXADÁ - TCC

Files in This Item:
File Description SizeFormat 
2021_tcc_pbtsilva.pdf1,73 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.