Fostering Mutation Testing with Variability-Aware Execution

dc.creatorJoao Paulo de Freitas Diniz
dc.date.accessioned2019-08-13T21:05:36Z
dc.date.accessioned2025-09-09T00:33:38Z
dc.date.available2019-08-13T21:05:36Z
dc.date.issued2018-10-01
dc.description.abstractMutation 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.
dc.identifier.urihttps://hdl.handle.net/1843/ESBF-B94EFY
dc.languageInglês
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subjectComputação
dc.subjectEngenharia de software
dc.subjectSoftware
dc.subject.otherMutation Testing
dc.subject.otherSoftware Engineering
dc.subject.otherVariability-Aware Execution
dc.subject.otherSoftware Testing
dc.subject.otherConfigurable Systems
dc.titleFostering Mutation Testing with Variability-Aware Execution
dc.typeDissertação de mestrado
local.contributor.advisor1Eduardo Magno Lages Figueiredo
local.contributor.referee1Silvia Regina Vergilio
local.contributor.referee1Marco Tulio de Oliveira Valente
local.contributor.referee1Christian Kastner
local.description.resumoTestes 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.
local.publisher.initialsUFMG

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
joaopaulodefreitasdiniz.pdf
Tamanho:
1.07 MB
Formato:
Adobe Portable Document Format