Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação

Detalhes bibliográficos
Autor(a) principal: Araujo, Filipe Santos
Data de Publicação: 2021
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFSCAR
Texto Completo: https://repositorio.ufscar.br/handle/ufscar/14107
Resumo: Context: With the increasing presence of technology in daily life, it is crucial to guarantee the quality of software products, which can be reached by testing activity. However, testing is highly expensive, once it is responsible for, in most cases, more than half of the software development cost. Among the existing testing criteria, mutation testing is highlighted once it is capable of revealing specific faults in software. Although mutation testing is effective, test data generation and live mutants analysis make the activity unfeasible because it is still required considerable human intervention. Goals: Therefore, this paper aims at evaluating four automatic test data generators (EvoSuite, JTeXpert, Palus, and Randoop), focusing on mutation testing, by measuring adequacy, effectiveness and cost. The first three of these generators implement heuristics during test data generation and they are evaluated both individually and combined, using as baseline a randomic generator. Method: Such generators are compared by conducting an experiment with 33 software products implemented in Java. Adequacy is measured regarding statement coverage, effectiveness regarding mutation score and cost regarding the number of generated test cases. For each generator we generated 10 different test sets for each one of the 33 analysed programs, totaling 1320 distincts test sets. Results: Results show, when we analyze the generators individually, it is not possible to conclude there is a difference between them. However, when we combine the heuristic-based generators, it is possible to conclude there is significant improvement when compared to the randomic generator. Moreover, when we combine all generators, including the randomic one, we obtained improvments of 0,2% in statement coverage and 4% in effectiveness, but we also obtained a significant increase in cost. Conclusion: In general, we observe there is a complementary aspect between the three automatic test data generators and they should be combined to improve the quality of test sets regarding mutation score. However, even with such combination, there is still 25% of the generated mutants which remain alive, indicating there is still room for improvements on quality of the used generators.
id SCAR_56bdb6d3bc02ead2d76765b6035ff579
oai_identifier_str oai:repositorio.ufscar.br:ufscar/14107
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Araujo, Filipe SantosVincenzi, Auri Marcelo Rizzohttp://lattes.cnpq.br/0611351138131709http://lattes.cnpq.br/5213023573055458b8015363-d6d8-4be8-8310-ad08af23b9ad2021-04-13T13:12:28Z2021-04-13T13:12:28Z2021-03-31ARAUJO, Filipe Santos. Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação. 2021. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2021. Disponível em: https://repositorio.ufscar.br/handle/ufscar/14107.https://repositorio.ufscar.br/handle/ufscar/14107Context: With the increasing presence of technology in daily life, it is crucial to guarantee the quality of software products, which can be reached by testing activity. However, testing is highly expensive, once it is responsible for, in most cases, more than half of the software development cost. Among the existing testing criteria, mutation testing is highlighted once it is capable of revealing specific faults in software. Although mutation testing is effective, test data generation and live mutants analysis make the activity unfeasible because it is still required considerable human intervention. Goals: Therefore, this paper aims at evaluating four automatic test data generators (EvoSuite, JTeXpert, Palus, and Randoop), focusing on mutation testing, by measuring adequacy, effectiveness and cost. The first three of these generators implement heuristics during test data generation and they are evaluated both individually and combined, using as baseline a randomic generator. Method: Such generators are compared by conducting an experiment with 33 software products implemented in Java. Adequacy is measured regarding statement coverage, effectiveness regarding mutation score and cost regarding the number of generated test cases. For each generator we generated 10 different test sets for each one of the 33 analysed programs, totaling 1320 distincts test sets. Results: Results show, when we analyze the generators individually, it is not possible to conclude there is a difference between them. However, when we combine the heuristic-based generators, it is possible to conclude there is significant improvement when compared to the randomic generator. Moreover, when we combine all generators, including the randomic one, we obtained improvments of 0,2% in statement coverage and 4% in effectiveness, but we also obtained a significant increase in cost. Conclusion: In general, we observe there is a complementary aspect between the three automatic test data generators and they should be combined to improve the quality of test sets regarding mutation score. However, even with such combination, there is still 25% of the generated mutants which remain alive, indicating there is still room for improvements on quality of the used generators.Contexto: Com o avanço da presença da tecnologia na vida cotidiana, é crucial garantir a qualidade dos produtos de software, o que é alcançável, parcialmente, por meio da atividade de teste. Porém, o teste é altamente oneroso, sendo que o mesmo representa, em muitos casos, mais da metade do custo total do desenvolvimento de software. Dentre os critérios de teste, destaca-se o teste de mutação por ser capaz de revelar defeitos específicos do software. Embora o teste de mutação seja eficaz, as etapas de geração de dados de teste e de análise de mutantes vivos tornam a atividade inviável pelo fato de, ainda, demandarem intensa intervenção humana. Objetivos: Sendo assim, este trabalho visa avaliar quatro geradores automáticos de dados de teste (EvoSuite, JTeXpert, Palus e Randoop), com ênfase no teste de mutação, utilizando de métricas como adequação, eficácia e custo. Os três primeiros destes geradores implementam heurísticas para a geração e são avaliados tanto de forma individual, quanto em conjunto, tendo como base um gerador aleatório. Método: Tais geradores são comparados por meio da condução de um experimento com 33 produtos de software implementados em Java. A adequação é medida em relação ao critério cobertura de comandos, a eficácia é medida em relação ao teste de mutação, e o custo em relação ao número de casos de teste gerados. Para cada gerador são gerados 10 conjuntos de teste diferentes para cada um dos 33 programas analisados, totalizando 1320 conjuntos de testes distintos. Resultados: Os resultados demonstram que de forma individualizada, em geral, não é possível concluir que há diferença entre os geradores de dados de teste analisados. Quando combinados, os geradores que utilizam heurísticas apresentam melhores resultados do que o gerador aleatório. A combinação dos geradores inteligentes com o aleatório traz um incremento 0,2% em relação adequação e um incremento de 4% em relação à eficácia com um incremento significativo no custo. Conclusão: De maneira geral, observa-se que existe uma complementariedade entre os geradores de dados de teste e os mesmos devem ser combinados para um conjunto de teste de melhor qualidade em relação ao teste de mutação. Entretanto, mesmo com a união de todos os conjuntos de teste gerados, em torno 25% dos mutantes gerados permanecem vivos, indicando que há espaço para melhoria na qualidade dos geradores de dados de teste utilizados.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)CAPES: 88882.426575/2019-01porUniversidade Federal de São CarlosCâmpus São CarlosPrograma de Pós-Graduação em Ciência da Computação - PPGCCUFSCarAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessGeração de dados de testeTeste de mutaçãoTest data generationMutation testingSearch-based software testingCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOAvaliação de geradores automáticos de dados de teste com ênfase no teste de mutaçãoEvaluation of automated test data generators with focus on mutation testinginfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisd0b4a7ac-bc77-444f-a8c8-b7b9011ba495reponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINALdissertacao_filipe_final.pdfdissertacao_filipe_final.pdfDissertação de Mestradoapplication/pdf3079156https://repositorio.ufscar.br/bitstream/ufscar/14107/1/dissertacao_filipe_final.pdfa5728f79097ca9c5a1b1bb95524f1095MD51carta_autorizacao_publicacao.pdfcarta_autorizacao_publicacao.pdfCarta de autorização de publicaçãoapplication/pdf117573https://repositorio.ufscar.br/bitstream/ufscar/14107/3/carta_autorizacao_publicacao.pdf4f770eb0ee92b67aa8b2bae3a28be1acMD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufscar.br/bitstream/ufscar/14107/4/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD54TEXTdissertacao_filipe_final.pdf.txtdissertacao_filipe_final.pdf.txtExtracted texttext/plain118284https://repositorio.ufscar.br/bitstream/ufscar/14107/5/dissertacao_filipe_final.pdf.txtc6a1aea0fe0a9341df626af458a71c2bMD55carta_autorizacao_publicacao.pdf.txtcarta_autorizacao_publicacao.pdf.txtExtracted texttext/plain1468https://repositorio.ufscar.br/bitstream/ufscar/14107/7/carta_autorizacao_publicacao.pdf.txt968ff50c6c3fb992983c5132a7416d80MD57THUMBNAILdissertacao_filipe_final.pdf.jpgdissertacao_filipe_final.pdf.jpgIM Thumbnailimage/jpeg8074https://repositorio.ufscar.br/bitstream/ufscar/14107/6/dissertacao_filipe_final.pdf.jpgd7845cd32d539495c0baa559c27349feMD56carta_autorizacao_publicacao.pdf.jpgcarta_autorizacao_publicacao.pdf.jpgIM Thumbnailimage/jpeg13741https://repositorio.ufscar.br/bitstream/ufscar/14107/8/carta_autorizacao_publicacao.pdf.jpge118eb1fee8309f1f2a14241cbce1803MD58ufscar/141072023-09-18 18:32:09.071oai:repositorio.ufscar.br:ufscar/14107Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:32:09Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
dc.title.alternative.eng.fl_str_mv Evaluation of automated test data generators with focus on mutation testing
title Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
spellingShingle Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
Araujo, Filipe Santos
Geração de dados de teste
Teste de mutação
Test data generation
Mutation testing
Search-based software testing
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
title_short Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
title_full Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
title_fullStr Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
title_full_unstemmed Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
title_sort Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação
author Araujo, Filipe Santos
author_facet Araujo, Filipe Santos
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/5213023573055458
dc.contributor.author.fl_str_mv Araujo, Filipe Santos
dc.contributor.advisor1.fl_str_mv Vincenzi, Auri Marcelo Rizzo
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/0611351138131709
dc.contributor.authorID.fl_str_mv b8015363-d6d8-4be8-8310-ad08af23b9ad
contributor_str_mv Vincenzi, Auri Marcelo Rizzo
dc.subject.por.fl_str_mv Geração de dados de teste
Teste de mutação
topic Geração de dados de teste
Teste de mutação
Test data generation
Mutation testing
Search-based software testing
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
dc.subject.eng.fl_str_mv Test data generation
Mutation testing
Search-based software testing
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
description Context: With the increasing presence of technology in daily life, it is crucial to guarantee the quality of software products, which can be reached by testing activity. However, testing is highly expensive, once it is responsible for, in most cases, more than half of the software development cost. Among the existing testing criteria, mutation testing is highlighted once it is capable of revealing specific faults in software. Although mutation testing is effective, test data generation and live mutants analysis make the activity unfeasible because it is still required considerable human intervention. Goals: Therefore, this paper aims at evaluating four automatic test data generators (EvoSuite, JTeXpert, Palus, and Randoop), focusing on mutation testing, by measuring adequacy, effectiveness and cost. The first three of these generators implement heuristics during test data generation and they are evaluated both individually and combined, using as baseline a randomic generator. Method: Such generators are compared by conducting an experiment with 33 software products implemented in Java. Adequacy is measured regarding statement coverage, effectiveness regarding mutation score and cost regarding the number of generated test cases. For each generator we generated 10 different test sets for each one of the 33 analysed programs, totaling 1320 distincts test sets. Results: Results show, when we analyze the generators individually, it is not possible to conclude there is a difference between them. However, when we combine the heuristic-based generators, it is possible to conclude there is significant improvement when compared to the randomic generator. Moreover, when we combine all generators, including the randomic one, we obtained improvments of 0,2% in statement coverage and 4% in effectiveness, but we also obtained a significant increase in cost. Conclusion: In general, we observe there is a complementary aspect between the three automatic test data generators and they should be combined to improve the quality of test sets regarding mutation score. However, even with such combination, there is still 25% of the generated mutants which remain alive, indicating there is still room for improvements on quality of the used generators.
publishDate 2021
dc.date.accessioned.fl_str_mv 2021-04-13T13:12:28Z
dc.date.available.fl_str_mv 2021-04-13T13:12:28Z
dc.date.issued.fl_str_mv 2021-03-31
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.citation.fl_str_mv ARAUJO, Filipe Santos. Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação. 2021. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2021. Disponível em: https://repositorio.ufscar.br/handle/ufscar/14107.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/ufscar/14107
identifier_str_mv ARAUJO, Filipe Santos. Avaliação de geradores automáticos de dados de teste com ênfase no teste de mutação. 2021. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2021. Disponível em: https://repositorio.ufscar.br/handle/ufscar/14107.
url https://repositorio.ufscar.br/handle/ufscar/14107
dc.language.iso.fl_str_mv por
language por
dc.relation.authority.fl_str_mv d0b4a7ac-bc77-444f-a8c8-b7b9011ba495
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Ciência da Computação - PPGCC
dc.publisher.initials.fl_str_mv UFSCar
publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSCAR
instname:Universidade Federal de São Carlos (UFSCAR)
instacron:UFSCAR
instname_str Universidade Federal de São Carlos (UFSCAR)
instacron_str UFSCAR
institution UFSCAR
reponame_str Repositório Institucional da UFSCAR
collection Repositório Institucional da UFSCAR
bitstream.url.fl_str_mv https://repositorio.ufscar.br/bitstream/ufscar/14107/1/dissertacao_filipe_final.pdf
https://repositorio.ufscar.br/bitstream/ufscar/14107/3/carta_autorizacao_publicacao.pdf
https://repositorio.ufscar.br/bitstream/ufscar/14107/4/license_rdf
https://repositorio.ufscar.br/bitstream/ufscar/14107/5/dissertacao_filipe_final.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/14107/7/carta_autorizacao_publicacao.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/14107/6/dissertacao_filipe_final.pdf.jpg
https://repositorio.ufscar.br/bitstream/ufscar/14107/8/carta_autorizacao_publicacao.pdf.jpg
bitstream.checksum.fl_str_mv a5728f79097ca9c5a1b1bb95524f1095
4f770eb0ee92b67aa8b2bae3a28be1ac
e39d27027a6cc9cb039ad269a5db8e34
c6a1aea0fe0a9341df626af458a71c2b
968ff50c6c3fb992983c5132a7416d80
d7845cd32d539495c0baa559c27349fe
e118eb1fee8309f1f2a14241cbce1803
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)
repository.mail.fl_str_mv
_version_ 1802136388765745152