Mostrar registro simples

dc.contributor.authorGuarnieri, Giovanni Francesco
dc.date.accessioned2022-05-27T13:54:54Z
dc.date.available2022-05-27T13:54:54Z
dc.date.issued2022-03-30
dc.identifier.citationGUARNIERI, Giovanni Francesco. SiMut: um framework automatizado para apoiar a redução do custo do teste de mutação com base em similaridade de programas. 2022. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de São Carlos, Sorocaba, 2022. Disponível em: https://repositorio.ufscar.br/handle/ufscar/16200.*
dc.identifier.urihttps://repositorio.ufscar.br/handle/ufscar/16200
dc.description.abstractContext: Software testing is essential to ensure that the program actually correctly meets the user’s needs. Aware of the importance of this step, researchers have proposed several ways to identify program faults. Among the fault identification techniques, there is the mutation analysis criterion, or mutation testing, which has proven to be effective for fault identification, but, as it demands a high application cost, it is little efficient and hence avoided in the software industry. Given the potential of this criterion, researchers sought and presented ways to reduce the cost of mutation testing to make it more viable. However, as verified by several researchers, the results produced by cost reduction techniques for mutation testing applied in a program are valid only for the programs that were targeted in the performed experiments. Recently, some researchers, in their studies, have relied on the use of similarity between programs as a way to reuse experiences acquired in programs already tested with mutation testing. However, this is an approach that still lacks experiments using various forms of similarity. Objective: This work presents an implementation and evaluation of a framework called SiMut. This framework was introduced in a previous study with the aim of helping to reduce the cost of testing a program based on a group of similar programs previously tested with mutation. Methodology: The implementation presented in this work deals with programs written in the Java language and includes a set of variants that relate to three types of program abstractions (original source code, obfuscated source code, and internal complexity metrics), three similarity calculation strategies (clustering, distance functions between strings, and plagiarism) and a mutation cost reduction approach (inspired by Selective Mutation). The presented evaluation, using 35 small programs written in the Java language, covers 20 configurations varying the techniques of abstractions and similarities. Results: A cross-comparison involving the formed clusters and a comparison with randomly formed clusters points to configurations that tend to achieve high effectiveness in predicting the best mutation operators for programs not tested with mutation. Conclusions: Considering the configurations selected for the experiments, the results presented several combinations that are effective to predict the best mutation operators for untested programs, where the combinations that involved distance functions between strings stood out. Regarding the program abstractions used to calculate similarity, the original source code seems to be as relevant as the obfuscated source code and internal complexity metrics.eng
dc.description.sponsorshipNão recebi financiamentopor
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 softwarepor
dc.subjectTeste de mutaçãopor
dc.subjectTécnicas de redução de custopor
dc.subjectSimilaridade de programaspor
dc.subjectMutação seletivapor
dc.subjectAgrupamentopor
dc.subjectSoftware testingeng
dc.subjectMutation testingeng
dc.subjectCost reduction techniqueseng
dc.subjectSimilarity of programseng
dc.subjectSelective mutationeng
dc.subjectClusteringeng
dc.titleSiMut: um framework automatizado para apoiar a redução do custo do teste de mutação com base em similaridade de programaseng
dc.title.alternativeSiMut: an automated framework to support the cost reduction of mutation testing based on program similaritypor
dc.typeDissertaçãopor
dc.contributor.advisor1Ferrari, Fabiano Cutigi
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/3154345471250570por
dc.description.resumoContexto: O teste de software é fundamental para garantir que o programa realmente atenda corretamente às necessidades do usuário. Cientes da importância desta etapa, pesquisadores propuseram diversas formas para identificar defeitos em programas. Entre elas, o critério Análise de Mutantes, ou teste de mutação, é comprovadamente efetivo mas, por demandar um alto custo de aplicação, é pouco eficiente e ainda não comumente adotado na indústria de software. Sabendo do potencial desse critério, pesquisadores buscaram e apresentaram formas de reduzir o custo do teste de mutação para torná-lo mais viável. Entretanto, como constatado por diversos pesquisadores, resultados das técnicas de redução de custo do teste de mutação aplicadas em um programa são válidos somente para os programas que foram alvos dos experimentos realizados. Recentemente, alguns pesquisadores, em seus estudos, se apoiaram no uso da similaridade entre programas como forma de reaproveitar experiências adquiridas em programas já testados com teste de mutação. Entretanto, essa é uma abordagem que ainda carece de experimentos utilizando variadas formas de similaridade. Objetivo: Neste trabalho apresentam-se uma implementação e uma avaliação de um framework denominado SiMut. Este framework foi introduzido em um estudo anterior com o objetivo de ajudar a reduzir o custo para testar um programa baseado em um grupo de programas similares previamente testados com mutação. Metodologia: A implementação apresentada neste trabalho lida com programas escritos na linguagem Java e inclui um conjunto de variantes que se relacionam a três tipos de abstrações de programas (código-fonte original, código-fonte ofuscado, e métricas de complexidade interna), três estratégias de cálculos de similaridade (clustering, funções de distância entre strings, e plagiarismo) e uma abordagem de redução de custo de mutação (inspirada na Mutação Seletiva). A avaliação apresentada, utilizando 35 pequenos programas escritos na linguagem Java, abrange 20 configurações variando-se as técnicas de abstrações de programas e similaridades. Resultados: Uma comparação cruzada envolvendo os clusters formados e uma comparação com clusters formados aleatoriamente aponta para as configurações que tendem a atingir alta efetividade em prever os melhores operadores de mutação para programas não testados com o teste de mutação. Conclusões: Considerando-se as configurações selecionadas para os experimentos, os resultados apresentaram diversas combinações que são efetivas para prever os melhores operadores de mutação para programas não testados, onde destacaram-se as combinações que envolveram funções de distância entre strings. Em relação às abstrações de programas utilizadas para calcular a similaridade, o código-fonte original parece ser tão relevante quanto o código-fonte ofuscado e as métricas internas de complexidade.por
dc.publisher.initialsUFSCarpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação - PPGCC-Sopor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.publisher.addressCâmpus Sorocabapor
dc.contributor.authorlatteshttp://lattes.cnpq.br/8202174867891759por


Arquivos deste item

Thumbnail
Thumbnail
Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Attribution-NonCommercial-NoDerivs 3.0 Brazil
Exceto quando indicado o contrário, a licença deste item é descrito como Attribution-NonCommercial-NoDerivs 3.0 Brazil