Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos

Detalhes bibliográficos
Autor(a) principal: Kuroishi, Pedro Henrique
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/13845
Resumo: Context: Software testing plays an important role in quality assurance. Testing techniques and criteria help the tester to develop and assess test suites. Mutation testing is a fault-based testing criterion commonly used to evaluate the quality of test suites. However, a high computational cost to generate and execute the mutants and the existence of equivalent prevent mutation testing to be widely applied in practical situations. In this sense, it is important to propose studies to overcome such problems. Objective: This work presents an approach that combined mutation testing and the concept of primitive arcs, used in the context of control-flow testing criteria, to reduce the cost of mutation testing. Overall, the goal was to verify if the execution of a subset of mutants located on the primitive arcs of a program under testing reduces the number of mutants and maintains a high mutation score. Next, this work evaluated the relationship between minimal mutants and primitive arcs. If both hypotheses confirm, it is possible to design new testing criteria based on the results obtained. Method: This work presented an experimental study to evaluate the proposed approach. To carry out the experiment, this work considered a set of 29 programs in C already used in other studies involving mutation testing. Results: The results showed that the approach reduced the number of mutants and achieved a high mutation score. Besides, the results showed that the primitive arcs concentrated a high percentage of minimal mutants. Then, the approach was compared to random mutation. The results showed that mutation on primitive arcs was slightly better than random mutation. Finally, this work presents a set of testing criteria based on the results obtained. Conclusion: Although powerful to detect faults, mutation testing still requires some improvements to large use in industry. The proposed approach may guide further works once the results obtained showed that the combination of mutation testing and primitive arcs might be a promising alternative. Thus, a broad experimental study using industry level programs and different test suites, may bring different results and hence, bring some contribution to the community.
id SCAR_8a0d6ba99927183e9e38cc2d7d1d973f
oai_identifier_str oai:repositorio.ufscar.br:ufscar/13845
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Kuroishi, Pedro HenriqueVincenzi, Auri Marcelo Rizzohttp://lattes.cnpq.br/0611351138131709http://lattes.cnpq.br/85283234783566757145474d-0f26-4edc-8860-5257d32f91a42021-02-12T17:37:08Z2021-02-12T17:37:08Z2021-02-02KUROISHI, Pedro Henrique. Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos. 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/13845.https://repositorio.ufscar.br/handle/ufscar/13845Context: Software testing plays an important role in quality assurance. Testing techniques and criteria help the tester to develop and assess test suites. Mutation testing is a fault-based testing criterion commonly used to evaluate the quality of test suites. However, a high computational cost to generate and execute the mutants and the existence of equivalent prevent mutation testing to be widely applied in practical situations. In this sense, it is important to propose studies to overcome such problems. Objective: This work presents an approach that combined mutation testing and the concept of primitive arcs, used in the context of control-flow testing criteria, to reduce the cost of mutation testing. Overall, the goal was to verify if the execution of a subset of mutants located on the primitive arcs of a program under testing reduces the number of mutants and maintains a high mutation score. Next, this work evaluated the relationship between minimal mutants and primitive arcs. If both hypotheses confirm, it is possible to design new testing criteria based on the results obtained. Method: This work presented an experimental study to evaluate the proposed approach. To carry out the experiment, this work considered a set of 29 programs in C already used in other studies involving mutation testing. Results: The results showed that the approach reduced the number of mutants and achieved a high mutation score. Besides, the results showed that the primitive arcs concentrated a high percentage of minimal mutants. Then, the approach was compared to random mutation. The results showed that mutation on primitive arcs was slightly better than random mutation. Finally, this work presents a set of testing criteria based on the results obtained. Conclusion: Although powerful to detect faults, mutation testing still requires some improvements to large use in industry. The proposed approach may guide further works once the results obtained showed that the combination of mutation testing and primitive arcs might be a promising alternative. Thus, a broad experimental study using industry level programs and different test suites, may bring different results and hence, bring some contribution to the community.Contexto: O teste de software é uma atividade fundamental que auxilia na garantia de qualidade de software. Diversas técnicas e critérios auxiliam o testador a derivar e avaliar requisitos de teste. O teste de mutação é um critério do teste baseado em defeitos bastante utilizado para avaliar a qualidade de conjuntos de teste. Entretanto, o alto custo computacional para gerar e executar os mutantes, além da existência de mutantes equivalentes, dificulta uma ampla utilização do critério em situações práticas. Neste contexto, torna-se necessário propor diferentes abordagens com o objetivo de viabilizar o teste de mutação. Objetivos: O objetivo deste trabalho é propor e avaliar uma abordagem de redução do custo do teste de mutação que engloba teste de mutação e o conceito de arcos primitivos, utilizado no contexto dos critérios de fluxo de controle. De forma geral, o objetivo é verificar se ao executar apenas os mutantes localizados no conjunto de arcos primitivos de um programa em teste, é possível reduzir o número de mutantes executados e manter um alto escore de mutação. Outro ponto do trabalho, está relacionado aos mutantes minimais, ou seja, o objetivo é verificar se é possível relacionar a geração dos mutantes minimais no contexto dos arcos primitivos. Caso as hipóteses se confirmem, é possível derivar novos critérios de teste a partir dos resultados obtidos. Método: Para condução deste trabalho, foi realizado um estudo experimental para avaliar a validade da abordagem proposta. Para isso, utilizou-se um conjunto de 29 programas em C de diversos domínio e empregados em diversos estudos envolvendo mutação. Resultados: Os resultados obtidos mostram que foi possível reduzir o número de mutantes e preservar um alto escore de mutação. Além disso, observou-se uma alta concentração de mutantes minimais nos arcos primitivos. Ao comparar a abordagem proposta com uma abordagem já existente, os resultados mostram que a mutação nos arcos primitivos foi superior à mutação aleatória. Por fim, a partir dos resultados, foi possível definir novos critérios de teste envolvendo teste de mutação e arcos primitivos. Conclusão: Embora seja um critério bastante poderoso para detectar defeitos, é notório que o teste de mutação necessita de melhorias para uma maior utilização na indústria. A abordagem proposta pode guiar novos trabalhos, uma vez que os resultados mostram que combinar teste de mutação e arcos primitivos apresentou-se como uma alternativa promissora. Neste sentido, ampliar o experimento com diferentes conjuntos de teste e avaliá-los em programas mais complexos, de nível industrial, pode trazer novos resultados e, assim, apresentar novas contribuições para a comunidade.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)CAPES: Código de Financiamento 001porUniversidade 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/openAccessTeste de mutaçãoAnálise de fluxo de controleArcos primitivosRedução de custoMutantes equivalentesMutantes minimaisCritérios de testeMutation testingControl flow-analysisPrimitive arcsCost reductionEquivalent mutantsMinimal mutantsTesting criterionCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOReduzindo o custo do teste de mutação com base no conceito de arcos primitivosReducing the cost of mutation testing based on the primitive arcs conceptinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesis600600d0b4a7ac-bc77-444f-a8c8-b7b9011ba495reponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINALDissertacao_PedroHenriqueKuroishi.pdfDissertacao_PedroHenriqueKuroishi.pdfapplication/pdf685552https://repositorio.ufscar.br/bitstream/ufscar/13845/1/Dissertacao_PedroHenriqueKuroishi.pdfe1649f7a64088f2d2ab703947ec0d5dfMD51CartaAutorizacaoPublicacao.pdfCartaAutorizacaoPublicacao.pdfapplication/pdf86120https://repositorio.ufscar.br/bitstream/ufscar/13845/2/CartaAutorizacaoPublicacao.pdf46537cd61d92c85339d49de39a9dc478MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufscar.br/bitstream/ufscar/13845/3/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD53TEXTDissertacao_PedroHenriqueKuroishi.pdf.txtDissertacao_PedroHenriqueKuroishi.pdf.txtExtracted texttext/plain149226https://repositorio.ufscar.br/bitstream/ufscar/13845/4/Dissertacao_PedroHenriqueKuroishi.pdf.txtd0cdb524206990e977d396bc1c7d7ff8MD54CartaAutorizacaoPublicacao.pdf.txtCartaAutorizacaoPublicacao.pdf.txtExtracted texttext/plain1520https://repositorio.ufscar.br/bitstream/ufscar/13845/6/CartaAutorizacaoPublicacao.pdf.txtb00798bbebf69247325925ea6275c8f7MD56THUMBNAILDissertacao_PedroHenriqueKuroishi.pdf.jpgDissertacao_PedroHenriqueKuroishi.pdf.jpgIM Thumbnailimage/jpeg8013https://repositorio.ufscar.br/bitstream/ufscar/13845/5/Dissertacao_PedroHenriqueKuroishi.pdf.jpg7fb37216d4280cddee8cff63a4ff8db3MD55CartaAutorizacaoPublicacao.pdf.jpgCartaAutorizacaoPublicacao.pdf.jpgIM Thumbnailimage/jpeg13394https://repositorio.ufscar.br/bitstream/ufscar/13845/7/CartaAutorizacaoPublicacao.pdf.jpgc79eb79684c738e237bb16f1ffd592fcMD57ufscar/138452023-09-18 18:32:06.51oai:repositorio.ufscar.br:ufscar/13845Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:32:06Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
dc.title.alternative.eng.fl_str_mv Reducing the cost of mutation testing based on the primitive arcs concept
title Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
spellingShingle Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
Kuroishi, Pedro Henrique
Teste de mutação
Análise de fluxo de controle
Arcos primitivos
Redução de custo
Mutantes equivalentes
Mutantes minimais
Critérios de teste
Mutation testing
Control flow-analysis
Primitive arcs
Cost reduction
Equivalent mutants
Minimal mutants
Testing criterion
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
title_full Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
title_fullStr Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
title_full_unstemmed Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
title_sort Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos
author Kuroishi, Pedro Henrique
author_facet Kuroishi, Pedro Henrique
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/8528323478356675
dc.contributor.author.fl_str_mv Kuroishi, Pedro Henrique
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 7145474d-0f26-4edc-8860-5257d32f91a4
contributor_str_mv Vincenzi, Auri Marcelo Rizzo
dc.subject.por.fl_str_mv Teste de mutação
Análise de fluxo de controle
Arcos primitivos
Redução de custo
Mutantes equivalentes
Mutantes minimais
Critérios de teste
topic Teste de mutação
Análise de fluxo de controle
Arcos primitivos
Redução de custo
Mutantes equivalentes
Mutantes minimais
Critérios de teste
Mutation testing
Control flow-analysis
Primitive arcs
Cost reduction
Equivalent mutants
Minimal mutants
Testing criterion
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Mutation testing
Control flow-analysis
Primitive arcs
Cost reduction
Equivalent mutants
Minimal mutants
Testing criterion
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Context: Software testing plays an important role in quality assurance. Testing techniques and criteria help the tester to develop and assess test suites. Mutation testing is a fault-based testing criterion commonly used to evaluate the quality of test suites. However, a high computational cost to generate and execute the mutants and the existence of equivalent prevent mutation testing to be widely applied in practical situations. In this sense, it is important to propose studies to overcome such problems. Objective: This work presents an approach that combined mutation testing and the concept of primitive arcs, used in the context of control-flow testing criteria, to reduce the cost of mutation testing. Overall, the goal was to verify if the execution of a subset of mutants located on the primitive arcs of a program under testing reduces the number of mutants and maintains a high mutation score. Next, this work evaluated the relationship between minimal mutants and primitive arcs. If both hypotheses confirm, it is possible to design new testing criteria based on the results obtained. Method: This work presented an experimental study to evaluate the proposed approach. To carry out the experiment, this work considered a set of 29 programs in C already used in other studies involving mutation testing. Results: The results showed that the approach reduced the number of mutants and achieved a high mutation score. Besides, the results showed that the primitive arcs concentrated a high percentage of minimal mutants. Then, the approach was compared to random mutation. The results showed that mutation on primitive arcs was slightly better than random mutation. Finally, this work presents a set of testing criteria based on the results obtained. Conclusion: Although powerful to detect faults, mutation testing still requires some improvements to large use in industry. The proposed approach may guide further works once the results obtained showed that the combination of mutation testing and primitive arcs might be a promising alternative. Thus, a broad experimental study using industry level programs and different test suites, may bring different results and hence, bring some contribution to the community.
publishDate 2021
dc.date.accessioned.fl_str_mv 2021-02-12T17:37:08Z
dc.date.available.fl_str_mv 2021-02-12T17:37:08Z
dc.date.issued.fl_str_mv 2021-02-02
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 KUROISHI, Pedro Henrique. Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos. 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/13845.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/ufscar/13845
identifier_str_mv KUROISHI, Pedro Henrique. Reduzindo o custo do teste de mutação com base no conceito de arcos primitivos. 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/13845.
url https://repositorio.ufscar.br/handle/ufscar/13845
dc.language.iso.fl_str_mv por
language por
dc.relation.confidence.fl_str_mv 600
600
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/13845/1/Dissertacao_PedroHenriqueKuroishi.pdf
https://repositorio.ufscar.br/bitstream/ufscar/13845/2/CartaAutorizacaoPublicacao.pdf
https://repositorio.ufscar.br/bitstream/ufscar/13845/3/license_rdf
https://repositorio.ufscar.br/bitstream/ufscar/13845/4/Dissertacao_PedroHenriqueKuroishi.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/13845/6/CartaAutorizacaoPublicacao.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/13845/5/Dissertacao_PedroHenriqueKuroishi.pdf.jpg
https://repositorio.ufscar.br/bitstream/ufscar/13845/7/CartaAutorizacaoPublicacao.pdf.jpg
bitstream.checksum.fl_str_mv e1649f7a64088f2d2ab703947ec0d5df
46537cd61d92c85339d49de39a9dc478
e39d27027a6cc9cb039ad269a5db8e34
d0cdb524206990e977d396bc1c7d7ff8
b00798bbebf69247325925ea6275c8f7
7fb37216d4280cddee8cff63a4ff8db3
c79eb79684c738e237bb16f1ffd592fc
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_ 1802136386342486016