Uma abordagem baseada em algorítmos de otimização multiobjetivos para reduzir o custo do critério de teste análise de mutantes
Abstract
Resumo: Na literatura o critério Análise de Mutantes tem se mostrado eficaz em revelar defeitos e o escore de mutação é uma medida bastante utilizada para avaliar a qualidade do teste. Entretanto, este critério apresenta um alto custo computacional devido ao número elevado de mutantes que precisam ser executados durante o teste. Estratégias para reduzir o custo de aplicação do critério foram propostas e geralmente visam a estabelecer um conjunto de operadores ditos essenciais para gerar um número de mutantes menor sem reduzir o escore global. Entretanto, um problema com estas estratégias é que elas são baseadas em procedimentos empíricos que ao final formam apenas um conjunto de operadores que geralmente visa a maximizar o escore com um número pequeno de mutantes. Elas não permitem a geração de mais de um conjunto de acordo com diferentes objetivos de teste, ou seja, não consideram o problema como multiobjetivo, para o qual não existe uma única solução ótima, mas sim diferentes boas soluções que representam uma relação de compromisso entre diferentes objetivos tais como: número de mutantes, número de casos de teste, defeitos encontrados, mutantes equivalentes, etc. Para dar um ratamento adequado ao problema foi proposta uma abordagem multiobjetivo, mas, entretanto, esta abordagem foi aplicada apenas no teste de unidade. Os resultados promissores obtidos são motivação para o presente trabalho que tem como objetivo explorar o uso da abordagem multi objetivo no contexto do teste de integração. Três diferentes algoritmos foram explorados e avaliados em um experimento com programas reais. Os resultados obtidos com a estratégia considerando número de mutantes e escore são melhores quando comparados aos obtidos pelas estrat'egias tradicionais. Abstract: In the literature, the Mutant Analysis criterion has proved to be effective to reveal faults, and the mutation score is a measure largely employed to evaluate the quality of the test. Nonetheless, this criterion demands high computational costs due to the large number of mutants that must be executed during the test. Strategies to reduce the application costs of the criterion have been proposed. They generally aim at the establishment of a set of essential operators that generates a lower number of mutants without reducing the global score. However, a problem with these strategies is that they are based on empirical procedures, which produce only a set of operators, usually with the goal of maximizing score with a small number of mutants. They do not allow the generation of more than one set according to different test bjectives, that is, they do not consider the problem as multi-objective to which there is no optimal solution, but different good solutions that represent a possible trade-off among different objectives, such as: number of mutants, number of test cases, found faults, equivalent mutants, etc. In order to handle this problem properly, a multi-objective approach was proposed, which has been nevertheless, applied only in the unit test. The promising results achieved at this level served as a motivation for the present work that explores the use of the multiobjective approach in the integration test context. Three different algorithms have been explored and evaluated in an experiment carried out with real programs. The results achie ed by the strategy, considering the number of mutants and the score, are better, when compared to that ones obtained by traditional strategies.
Collections
- Teses & Dissertações [9105]