Fostering Mutation Testing with Variability-Aware Execution
Carregando...
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Dissertação de mestrado
Título alternativo
Primeiro orientador
Membros da banca
Silvia Regina Vergilio
Marco Tulio de Oliveira Valente
Christian Kastner
Marco Tulio de Oliveira Valente
Christian Kastner
Resumo
Testes Mutantes é uma técnica baseada em falhas, comumente utilizada para se verificar a eficiência de testes de software (casos de testes, suíte de testes). Consiste basicamente na introdução de mudanças sintáticas (mutantes) em um código fonte de um sistema e verificação se os casos de testes deste sistema conseguem localizá-los (ou seja, acusarem falhas). Uma vez que há dezenas de tipos possíveis de mutantes definidos na literatura e, além disto, em vários pontos de código fonte podem ser introduzidas tais falhas, os problemas mais desafiadores enfrentados comunidade é o alto esforço computacional necessário ao se executar todas as suítes de testes para cada mutante gerado. Nas últimas quatro décadas, pesquisadores propuseram técnicas que visam redução do custo computacional em fases do processo de testes mutantes, ex., redução do número de mutantes e da quantidade de casos de testes executados, em geração e compilação de mutantes, bem como em termos de otimização. Nesta dissertação, nós propusemos uma técnica para testes mutantes que visa a redução do esforço computacional na fase de execução (runtime), inspirada na "Execução Ciente de Variabilidade", uma técnica inovadora que visa redução de custo computacional no amplo espaço de configurações presente em sistemas configuráveis. Nós avaliamos a técnica proposta, que se mostrou viável e concluímos que esta merece sim continuar a ser investigada em trabalhos futuros.
Abstract
Mutation Testing is a fault-based technique commonly used to assess the effectiveness of software tests. It basically consists on introducing syntactical changes (called mutants) into source code and checking whether the test cases distinguish them. Since there are dozens of distinct mutant types, one of the most challenging problems faced by the community is the high computational effort required for testing the whole test suites for each generated mutant. Over last four decades, researchers proposed techniques aiming at effort reduction in mutation testing phases, e.g., either by reducing the number of mutants or by optimization. In this Master Thesis, we proposed a technique for mutation testing cost reduction in running time, inspired on variability-aware execution, a novel approach that achieves cost reduction in the large configuration space of configurable software systems. We assessed viability of the proposed technique and conclude it does deserve further investigation.
Assunto
Computação, Engenharia de software, Software
Palavras-chave
Mutation Testing, Software Engineering, Variability-Aware Execution, Software Testing, Configurable Systems