• JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
  • JoomlaWorks Simple Image Rotator
 
  Bookmark and Share
 
 
Dissertação de Mestrado
DOI
https://doi.org/10.11606/D.55.2022.tde-14072022-162044
Documento
Autor
Nome completo
Claudinei Brito Junior
E-mail
Unidade da USP
Área do Conhecimento
Data de Defesa
Imprenta
São Carlos, 2022
Orientador
Banca examinadora
Delamaro, Márcio Eduardo (Presidente)
Chaim, Marcos Lordello
Eler, Marcelo Medeiros
Vilela, Plinio Roberto Souza
Título em português
Uma abordagem para identificação de mutantes minimais e equivalentes baseada na estrutura do código fonte
Palavras-chave em português
Mutantes equivalentes
Mutantes minimais
Teste de mutação
Teste de software
Resumo em português
Com o objetivo de garantir que um software esteja sendo construído de acordo com suas especificações estabelecidas, a Engenharia de Software dispõe de uma série de atividades, processos e métodos que coletivamente são chamados de Validação, Verificação e Teste. O processo de teste de software pode ser definido como a execução de um programa com determinadas entradas e verificação da consonância das saídas com as saídas esperadas de acordo com as especificações do programa. Na tentativa de cumprir com seu objetivo, o teste de software pode ser dividido em diversas fases e etapas e conta com diversas técnicas e critérios, no qual cada técnica tem um objetivo específico e todas juntas se complementam. Um dos problemas fundamentais do teste de software é saber na prática ou na teoria quando já se testou o suficiente de um programa. O Teste de Mutação é um critério da técnica de Teste Baseado em Defeitos. É reconhecidamente um critério que pode auxiliar na criação de casos de teste com alta efetividade e capacidade de relevar defeitos. Esse critério mede a adequação de um determinado conjunto de casos de teste e assim fornece uma medida qualitativa da assertividade de um conjunto de teste com relação a um programa. A aplicação do teste de mutação se dá por meio de alterações no programa original, a fim de observar se o caso de teste consegue distinguir o comportamento do programa original e do programa alterado. Cada alteração realizada no programa original cria um novo programa chamado de Programa Mutante. Um dos problemas da aplicação do teste de mutação se dá pois normalmente são gerados muitos programas mutantes, mesmo para pequenos programas, o que eleva muito o custo computacional de geração e análise desses programas mutantes. Sendo assim, existem diversas técnicas que visam reduzir o custo computacional do teste de mutação. Essas técnicas normalmente são divididas em: (i) Do Fewer; (ii) Do Smarter; e (iii) Do Faster. Mutante minimal é um conceito pertencente às técnicas Do Fewer que procuram meios para reduzir o número de mutantes gerados. Este projeto tem como objetivo propor uma abordagem para identificação de mutantes minimais com base em suas localizações na estrutura do código-fonte e assim evitar a geração e execução de todos os mutantes. Para o desenvolvimento da abordagem, pretende-se utilizar uma representação de programas utilizadas na técnica de teste estrutural, o Grafo de Fluxo de Controle, e assim relacionar os mutantes minimais com lugares específicos do código, como por exemplo, nós essenciais do grafo de fluxo de controle. Uma vez desenvolvida a abordagem, pretende-se avaliá-la por meio de estudos empíricos com métricas já utilizadas na literatura em estudos prévios que visam reduzir o custo do teste de mutação. Como resultado final deste projeto, espera-se avançar o estado da arte na área de teste de software com uma abordagem mais eficiente para aplicação do critério teste de mutação
Título em inglês
An approach to identifying minimal and equivalent mutants based on source code structure
Palavras-chave em inglês
Equivalent mutants
Minimal mutants
Mutation testing
Software testing
Resumo em inglês
Aiming ensure that a software has been build in according with established specifications, Software Enginerring has a serie of activities, processes and methods that collectively are called Validation, Verification and Testing. The software testing process can be defined as the program execution with determined inputs and verification of outputs consonances with expected outputs according to program specification. Trying reach his object, software testing can be divided into several phases and steps and has several techniques and criterias, such as each technique has a specified aim and all together complement each other. One of software testing fundamental problem is to know in the practice and theory when have already tested sufficient. Mutation Testing is a criterion of Defect-Based Testing technique. It is recognized as a criterion that can aid in the creation of test cases with high effectiveness and ability to reveal defects. This criterion measures the adequacy of a given set of test cases and thus provides a qualitative measure of the assertiveness of a test set in relation to a program. The application of the mutation testing is done through changes in the original program, in order to observe if the test case can distinguish the behavior of the original program and the altered program. Each change made in the original program creates a new program called Mutant Program. One of the problems of applying the mutation test is that many mutant programs are generated, even for small programs, which greatly increases the computational cost of generating and analyzing these mutant programs. Thus, there are several techniques that aim to reduce the computational cost of the mutation test. These techniques are usually divided into: (i) Do Fewer; (ii) Do Smarter; and (iii) Faster. Minimal mutant is a concept belonging to Do Fewer techniques that seek means to reduce the number of mutants generated. This project aims to propose an approach to identify minimal mutants based on their locations in the source code structure and thus avoid the generation and execution of all mutants. For the development of the approach, we intend to use a representation of programs used in the structural test technique, the Control Flow Graph, and thus to relate the minimal mutants to specific places of the code, such as essential nodes of the control flow graph. Once the approach is developed, it is intended to be evaluated through empirical studies with metrics already used in the literature in previous studies aimed at reducing the cost of mutation testing. As a final result of this project, it is expected to advance the state of the art in the area of software testing with a more efficient approach to applying the mutation testing criterion
 
AVISO - A consulta a este documento fica condicionada na aceitação das seguintes condições de uso:
Este trabalho é somente para uso privado de atividades de pesquisa e ensino. Não é autorizada sua reprodução para quaisquer fins lucrativos. Esta reserva de direitos abrange a todos os dados do documento bem como seu conteúdo. Na utilização ou citação de partes do documento é obrigatório mencionar nome da pessoa autora do trabalho.
Data de Publicação
2022-07-14
 
AVISO: Saiba o que são os trabalhos decorrentes clicando aqui.
Todos os direitos da tese/dissertação são de seus autores
CeTI-SC/STI
Biblioteca Digital de Teses e Dissertações da USP. Copyright © 2001-2024. Todos os direitos reservados.