Utilizando Algoritmos de Machine Learning Caixa Branca para Avaliar a Manutenibilidade dos Modelos de Features
Resumo
O objetivo deste trabalho foi utilizar modelos de Machine Learning (ML) caixa branca para classificar a manutenibilidade do Modelo de Features (MF), com base em 15 medidas de manutenibilidade. Como resultados, foi utilizado o algoritmo de árvore de decisão que obteve acurácia e precisão de 0,81, F1 de 0,79 e AUC-ROC de 0,91. Utilizando este modelo, houve redução da 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. Também foi implementada uma ferramenta com algoritmo escolhido para automação da classificado do MF.
Referências
Bezerra, C., Lima, R., and Silva, P. (2021). Dymmer 2.0: A tool for dynamic modeling and evaluation of feature model. In Proceedings of the XXXV Brazilian Symposium on Software Engineering, SBES '21, page 121-126, New York, NY, USA. Association for Computing Machinery.
Bezerra, C. I., Andrade, R., and Monteiro, J. M. S. (2015). Measures for quality evaluation of feature models. In International Conference on Software Reuse, pages 282-297. Springer.
Bezerra, C. I., Andrade, R. M., and Monteiro, J. M. (2017). Exploring quality measures for the evaluation of feature models: a case study. Journal of Systems and Software, 131:366-385.
El-Sharkawy, S., Yamagishi-Eichler, N., and Schmid, K. (2019). Metrics for analyzing variability and its implementation in software product lines: A systematic literature review. Information and Software Technology, 106:1-30.
Han, J., Jentzen, A., and Weinan, E. (2017). Overcoming the curse of dimensionality: Solving high-dimensional partial differential equations using deep learning. arXiv preprint arXiv:1707.02568, pages 1-13.
Oliveira, D. C. S. and Bezerra, C. I. M. (2019). Development of the maintainability index for spls feature models using fuzzy logic. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering, SBES 2019, page 357-366, New York, NY, USA. Association for Computing Machinery.
Passos, L., Teixeira, L., Dintzner, N., Apel, S., Wasowski, A., Czarnecki, K., Borba, P., and Guo, J. (2015). Coevolution of variability models and related software artifacts. Empirical Software Engineering, pages 1-50.
Salkind, N. J. and Rainwater, T. (2006). Exploring research. Pearson Prentice Hall Upper Saddle River, NJ.
Schober, P., Boer, C., and Schwarte, L. A. (2018). Correlation coefficients: appropriate use and interpretation. Anesthesia & Analgesia, 126(5):1763-1768.
Silva, P., Bezerra, C. I., and Machado, I. (2021). A machine learning model to classify the feature model maintainability. In Proceedings of the 25th ACM International Systems and Software Product Line Conference-Volume A, pages 35-45.
Silva, P., Bezerra, C. I. M., Lima, R., and Machado, I. (2020). Classifying feature models maintainability based on machine learning algorithms. In Proceedings of the 14th Brazilian Symposium on Software Components, Architectures, and Reuse, SBCARS '20, page 1-10, New York, NY, USA. Association for Computing Machinery.
Uchôa, A., Barbosa, C., Oizumi, W., Blenilio, P., Lima, R., Garcia, A., and Bezerra, C. (2020). How does modern code review impact software design degradation? an in-depth empirical study. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 511-522.
Vale, G., Fernandes, E., and Figueiredo, E. (2019). On the proposal and evaluation of a benchmark-based threshold derivation method. Software Quality Journal, 27(1):275-306.