Português English
Contato

Dissertação de Mestrado de Keslley Lima da Silva


Detalhes do Evento


Aluno: Keslley Lima da Silva
Orientadora: Profa. Dra. Erika Fernandes Cota

Título: Predicting Prime Path Coverage Using Regression Analysis at Method Level.

Linha de Pesquisa: Engenharia de Software

Data: 21/10/2021
Horário: 14h

Esta banca ocorrerá excepcionalmente de forma totalmente remota. Interessados em assistir a defesa poderão acessar a sala virtual através do link: https://mconf.ufrgs.br/webconf/00108898

Banca Examinadora:
– Prof. Dr. Elder de Macedo Rodrigues (Unipampa)
– Prof. Dr. Alexandre Lazaretti Zanatta (UPF)
– Profª. Drª. Karin Becker (UFRGS)

Presidente da Banca: Profa. Dra. Erika Fernandes Cota

Abstract: Test coverage criteria help the tester in analyzing the quality of the test suite, especially in an evolving system where it can be used to guide the prioritization of regression tests and the testing effort of new code. However, coverage analysis of more powerful criteria such as path coverage is still challenging due to the lack of supporting tools. As a consequence, the tester evaluates a test suite quality employing more basic coverage criteria (e.g., node coverage and edge coverage), which are the ones that are supported by tools. In this work, we evaluate the opportunity of using machine learning algorithms to estimate the prime-path coverage of a test suite at the method level. We followed the Knowledge Discovery in Database process and a dataset built from 9 real-world projects to devise three regression models for prime-path prediction. We compare four different machine learning algorithms and conduct a fine-grained feature analysis to investigate the factors that most impact the prediction accuracy. Our experimental results show that a suitable predictive model uses as input data only five source code metrics and one basic test coverage metric. Our evaluation shows that the best model achieves an MAE of 0.016 (1,6%) on the cross-validation (internal validation) and an MAE of 0.06 (6%) on the external validation. Finally, we observed that good prediction models can be generated from common code metrics although the use of a simple test metric such as branch coverage can improve           the prediction performance of the model even more.

Keywords: Software testing, Coverage prediction, Code coverage, Regression analysis.