Show simple item record

dc.contributor.authorKuroishi, Pedro Henrique
dc.date.accessioned2021-02-12T17:37:08Z
dc.date.available2021-02-12T17:37:08Z
dc.date.issued2021-02-02
dc.identifier.citationKUROISHI, 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.urihttps://repositorio.ufscar.br/handle/ufscar/13845
dc.description.abstractContext: 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.eng
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)por
dc.language.isoporpor
dc.publisherUniversidade Federal de São Carlospor
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectTeste de mutaçãopor
dc.subjectAnálise de fluxo de controlepor
dc.subjectArcos primitivospor
dc.subjectRedução de custopor
dc.subjectMutantes equivalentespor
dc.subjectMutantes minimaispor
dc.subjectCritérios de testepor
dc.subjectMutation testingeng
dc.subjectControl flow-analysiseng
dc.subjectPrimitive arcseng
dc.subjectCost reductioneng
dc.subjectEquivalent mutantseng
dc.subjectMinimal mutantseng
dc.subjectTesting criterioneng
dc.titleReduzindo o custo do teste de mutação com base no conceito de arcos primitivospor
dc.title.alternativeReducing the cost of mutation testing based on the primitive arcs concepteng
dc.typeDissertaçãopor
dc.contributor.advisor1Vincenzi, Auri Marcelo Rizzo
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/0611351138131709por
dc.description.resumoContexto: 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.por
dc.publisher.initialsUFSCarpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação - PPGCCpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.description.sponsorshipIdCAPES: Código de Financiamento 001por
dc.publisher.addressCâmpus São Carlospor
dc.contributor.authorlatteshttp://lattes.cnpq.br/8528323478356675por


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Brazil
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Brazil