Predicting prime path coverage using regression analysis at method level
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2021 |
| Tipo de documento: | Dissertação |
| Idioma: | eng |
| Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFRGS |
| Texto Completo: | http://hdl.handle.net/10183/231868 |
Resumo: | Os critérios de cobertura de teste auxiliam o testador na análise da qualidade do conjunto de testes, em especial em sistemas em evolução onde pode ser utilizado para orientar a priorização dos testes de regressão e o esforço de teste de um novo código. No entanto, a análise da cobertura de critérios mais poderosos, tais como a cobertura de caminhos, continua a ser desafiante devido à falta de ferramentas de apoio. Como consequência, o testador avalia a qualidade de um conjunto de testes utilizando critérios de cobertura mais básicos (por exemplo, cobertura de nós e cobertura de arcos), que são os que são suporta dos por ferramentas. Neste trabalho, avaliou-se a oportunidade de utilizar algoritmos de aprendizagem de máquina para estimar a cobertura de caminhos primos de um conjunto de testes em nível de método. Seguiu-se o processo de descoberta de conhecimento em base de dados e um conjunto de dados construído a partir de 9 projetos do mundo real para se criarem três modelos de regressão para a previsão do valor de cobertura do critério de caminhos primos a partir de métricas de código. Compararam-se quatro algoritmos dife rentes de aprendizagem de máquina e realizou-se uma análise detalhada de características para identificar aquelas que mais afetam o desempenho da predição. Os resultados experi mentais mostraram que modelos preditivos de boa acurácia podem ser gerados a partir de um conjunto de métricas de código pequeno e de fácil obtenção. O melhor modelo gerado utiliza como dados de entrada apenas cinco métricas de código fonte e uma métrica básica de cobertura de teste e atinge um MAE de 0,016 (1,6%) na validação cruzada (validação interna) e um MAE de 0,06 (6%) na validação externa. Por fim, observou-se que modelos preditivos adequados podem ser gerados a partir de métricas de código comuns, embora o uso da métrica de cobertura de arcos, quando disponível, possa melhorar ainda mais o desempenho de predição. |
| id |
URGS_7f4de3c2f5f73ab3ce3c16a0cf7c7de8 |
|---|---|
| oai_identifier_str |
oai:www.lume.ufrgs.br:10183/231868 |
| network_acronym_str |
URGS |
| network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| repository_id_str |
1853 |
| spelling |
Silva, Keslley Lima daCota, Erika Fernandes2021-11-17T04:24:59Z2021http://hdl.handle.net/10183/231868001133520Os critérios de cobertura de teste auxiliam o testador na análise da qualidade do conjunto de testes, em especial em sistemas em evolução onde pode ser utilizado para orientar a priorização dos testes de regressão e o esforço de teste de um novo código. No entanto, a análise da cobertura de critérios mais poderosos, tais como a cobertura de caminhos, continua a ser desafiante devido à falta de ferramentas de apoio. Como consequência, o testador avalia a qualidade de um conjunto de testes utilizando critérios de cobertura mais básicos (por exemplo, cobertura de nós e cobertura de arcos), que são os que são suporta dos por ferramentas. Neste trabalho, avaliou-se a oportunidade de utilizar algoritmos de aprendizagem de máquina para estimar a cobertura de caminhos primos de um conjunto de testes em nível de método. Seguiu-se o processo de descoberta de conhecimento em base de dados e um conjunto de dados construído a partir de 9 projetos do mundo real para se criarem três modelos de regressão para a previsão do valor de cobertura do critério de caminhos primos a partir de métricas de código. Compararam-se quatro algoritmos dife rentes de aprendizagem de máquina e realizou-se uma análise detalhada de características para identificar aquelas que mais afetam o desempenho da predição. Os resultados experi mentais mostraram que modelos preditivos de boa acurácia podem ser gerados a partir de um conjunto de métricas de código pequeno e de fácil obtenção. O melhor modelo gerado utiliza como dados de entrada apenas cinco métricas de código fonte e uma métrica básica de cobertura de teste e atinge um MAE de 0,016 (1,6%) na validação cruzada (validação interna) e um MAE de 0,06 (6%) na validação externa. Por fim, observou-se que modelos preditivos adequados podem ser gerados a partir de métricas de código comuns, embora o uso da métrica de cobertura de arcos, quando disponível, possa melhorar ainda mais o desempenho de predição.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 cri teria 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 ex ternal 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 even more the prediction performance of the model.application/pdfengAlgoritmosAprendizagem : MaquinaTeste : SoftwareCoverage predictionCode coverageRegression analysisPredicting prime path coverage using regression analysis at method levelinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2021mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001133520.pdf.txt001133520.pdf.txtExtracted Texttext/plain135444http://www.lume.ufrgs.br/bitstream/10183/231868/2/001133520.pdf.txtc7f7c71a550267fa4f66bbf583203186MD52ORIGINAL001133520.pdfTexto completo (inglês)application/pdf1402066http://www.lume.ufrgs.br/bitstream/10183/231868/1/001133520.pdf4eef903ffd24bf9c153fc75c85b14772MD5110183/2318682021-11-20 06:04:04.053337oai:www.lume.ufrgs.br:10183/231868Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532021-11-20T08:04:04Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
| dc.title.pt_BR.fl_str_mv |
Predicting prime path coverage using regression analysis at method level |
| title |
Predicting prime path coverage using regression analysis at method level |
| spellingShingle |
Predicting prime path coverage using regression analysis at method level Silva, Keslley Lima da Algoritmos Aprendizagem : Maquina Teste : Software Coverage prediction Code coverage Regression analysis |
| title_short |
Predicting prime path coverage using regression analysis at method level |
| title_full |
Predicting prime path coverage using regression analysis at method level |
| title_fullStr |
Predicting prime path coverage using regression analysis at method level |
| title_full_unstemmed |
Predicting prime path coverage using regression analysis at method level |
| title_sort |
Predicting prime path coverage using regression analysis at method level |
| author |
Silva, Keslley Lima da |
| author_facet |
Silva, Keslley Lima da |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Silva, Keslley Lima da |
| dc.contributor.advisor1.fl_str_mv |
Cota, Erika Fernandes |
| contributor_str_mv |
Cota, Erika Fernandes |
| dc.subject.por.fl_str_mv |
Algoritmos Aprendizagem : Maquina Teste : Software |
| topic |
Algoritmos Aprendizagem : Maquina Teste : Software Coverage prediction Code coverage Regression analysis |
| dc.subject.eng.fl_str_mv |
Coverage prediction Code coverage Regression analysis |
| description |
Os critérios de cobertura de teste auxiliam o testador na análise da qualidade do conjunto de testes, em especial em sistemas em evolução onde pode ser utilizado para orientar a priorização dos testes de regressão e o esforço de teste de um novo código. No entanto, a análise da cobertura de critérios mais poderosos, tais como a cobertura de caminhos, continua a ser desafiante devido à falta de ferramentas de apoio. Como consequência, o testador avalia a qualidade de um conjunto de testes utilizando critérios de cobertura mais básicos (por exemplo, cobertura de nós e cobertura de arcos), que são os que são suporta dos por ferramentas. Neste trabalho, avaliou-se a oportunidade de utilizar algoritmos de aprendizagem de máquina para estimar a cobertura de caminhos primos de um conjunto de testes em nível de método. Seguiu-se o processo de descoberta de conhecimento em base de dados e um conjunto de dados construído a partir de 9 projetos do mundo real para se criarem três modelos de regressão para a previsão do valor de cobertura do critério de caminhos primos a partir de métricas de código. Compararam-se quatro algoritmos dife rentes de aprendizagem de máquina e realizou-se uma análise detalhada de características para identificar aquelas que mais afetam o desempenho da predição. Os resultados experi mentais mostraram que modelos preditivos de boa acurácia podem ser gerados a partir de um conjunto de métricas de código pequeno e de fácil obtenção. O melhor modelo gerado utiliza como dados de entrada apenas cinco métricas de código fonte e uma métrica básica de cobertura de teste e atinge um MAE de 0,016 (1,6%) na validação cruzada (validação interna) e um MAE de 0,06 (6%) na validação externa. Por fim, observou-se que modelos preditivos adequados podem ser gerados a partir de métricas de código comuns, embora o uso da métrica de cobertura de arcos, quando disponível, possa melhorar ainda mais o desempenho de predição. |
| publishDate |
2021 |
| dc.date.accessioned.fl_str_mv |
2021-11-17T04:24:59Z |
| dc.date.issued.fl_str_mv |
2021 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/231868 |
| dc.identifier.nrb.pt_BR.fl_str_mv |
001133520 |
| url |
http://hdl.handle.net/10183/231868 |
| identifier_str_mv |
001133520 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
| instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
| instacron_str |
UFRGS |
| institution |
UFRGS |
| reponame_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| collection |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/231868/2/001133520.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/231868/1/001133520.pdf |
| bitstream.checksum.fl_str_mv |
c7f7c71a550267fa4f66bbf583203186 4eef903ffd24bf9c153fc75c85b14772 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
| repository.mail.fl_str_mv |
lume@ufrgs.br||lume@ufrgs.br |
| _version_ |
1831314641619255296 |