Estratégias para Redução do Custo do Teste de Mutação

Slides:



Advertisements
Apresentações semelhantes
Confiabilidade e Segurança MO828 – Eng. Software II Prof
Advertisements

Reliability verification of Digital Systems Design based on mutation Analysis Samuel S. Marczak.
Linguagens de Programação
Mecanismo de busca semântica de áudio Anderson Dorow Orientador: Aurélio Faustino Hoppe.
Gerador de grade de horários com Algoritmos Genéticos Prof. Roberto Heinzle, Doutor - Orientador Rodrigo Correia.
Trello Trello é um aplicativo gratuito baseado na web projeto de gestão originalmente feita por Fog Creek Software em 2011, que girou para fora para ser.
Algoritmos Genéticos Como os Algoritmos Genéticos Funcionam Estéfane G. M. de Lacerda DCA/UFRN Maio/2008.
Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do banco de dados Oracle Wagner da Silva Orientando Prof. Alexander Roberto Valdameri.
Prof. Paulo Barreto Os SPTs monitoram, coletam, armazenam e processam dados gerados em todas as transações da empresa. Esses dados.
Ferramenta Web para testes de fórmulas matemáticas Kauê da Silva Vieira Orientador: Aurélio Faustino Hoppe.
BUSCA TABU E. G. M. de Lacerda UFRN/DCA 23/10/2006 Parte I.
Algoritmos Genéticos para o Problema da Mochila Estéfane G. M. de Lacerda UFRN/DCA Setembro/2008.
Lógica de programação Introdução à lógica de programação Diagrama de bloco Programação Sequencial 1.
CONTAGEM Princípios Básicos Permutações Arranjos Combinações.
Engenharia de Software Definição: Estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja.
Classificação não supervisionada de imagens. Classificação de imagens Consiste na identificação de tipos de cobertura de solos, de acordo com os padrões.
Amostragem Cuidados a ter na amostragem Tipos de amostragem
Conceitos Básicos Prof.: Nivaldo T. Schiefler Jr. / Edson H. Watanabe
Algoritmos e Estruturas de Dados I
Confiabilidade Estrutural
Estruturas de Repetição
Arquitetura de Computadores-S.O.
Medições – parte I: Precisão.
O PROBL EMA DA MOCHI LA COMO UM PROBLEMA RELATIVAMENTE COMPLEXO
Como os dados do exercício tem cabeçalho devemos selecionar a opção pertinente.
Teoria dos Grafos Geração de Valores aleatórios
Projeto de Compiladores
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2017 Técnicas de Reamostragem Camilo Daleles Rennó
ELD - Eletrônica Digital
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2017 Análise de Agrupamento Camilo Daleles Rennó
ANÁLISE FATORIAL.
Técnicas Estatísticas de Agrupamento
Estruturas de Decisão.
Orientanda: Ana Paula Joslin de Oliveira
Seleção de Atributos.
Formação de preços de venda
Preparando o Plano de Produção
Ordenação: Terminologia
Prof. Wellington Franco Sub-Rotinas:Funções e Procedimentos
Estrutura Escolha/caso
Estruturas de Repetição
PROBLEMA DO EMPACOTAMENTO
M.d.c. algoritimo de Euclides
Testes de Mutação baseado no artigo de Mário Correia,
Projeto de endereçamento – 2 ClassLess
Desenhos de Estudo em Epidemiologia Ocupacional
Kroton Educacional Universidade uniderp (Unidade Matriz)
Busca e BLAST Dilvan Moreira.
Estruturas de Repetição
Algoritmos e Programação I

Máscara de Sub-redes aula 11
Arranjo Físico Celular
GBC053–Gerenciamento de Banco de Dados Ordenação Externa
Introdução à Computação
ELEMENTOS DE ORGANIZAÇÃO DE COMPUTADORES :
MBA em Gestão de Projetos
Particle Swarm Optimization (PSO)
TCP/IP CRD Filipe Pacheco.
Linguagem de Programação
Aprendizagem cooperativa e o problema de formação de grupos
Instrumentos de planejamento e qualidade
Engenharia de Produção Implantação da Manufatura Enxuta em célula de produção Professor Orientador Espsc. Alaor Prado Alunos: Francisco Moises Theodoro.
Soluções Inteligentes para ONGs Esportivas
Sistemas Inteligentes Busca Cega (Exaustiva)
Aula 7 – Algoritmos Genéticos
Estruturas definidas pelo programador
Representação de Algoritmos
Optimized Link State Routing
Sistemas de Informação
Transcrição da apresentação:

Estratégias para Redução do Custo do Teste de Mutação

Offutt e Untch – estratégias “faça mais rápido” “faça mais inteligente” “faça menos”

Offutt e Untch – e estratégias “faça mais rápido” : geração e execução mais rápida dos mutantes com a utilização de diferentes plataformas, como por exemplo a execução de programas compilados ao invés de programas interpretados. Execução paralela e etc.

Offutt e Untch – e estratégias “faça mais inteligente” tenta dividir os custos de geração e execução de mutantes em diversas máquinas ou tenta evitar a execução completa dos mutantes. - “Strong Mutation” ou “Mutação Forte” – execução completa e comparação dos resultados finais. - “Weak Mutation” ou “Mutação Fraca” – basta que um estado intermediário incorreto seja obtido.

Offutt e Untch – e estratégias “faça menos”: diminuir a quantidade de mutantes e casos de teste a serem executados, sem que a eficácia do teste seja prejudicada (ou seja mantendo o escore obtido com o conjunto total de mutantes: “Estratégias de Redução de Mutantes”. O testador pode obter um conjunto de casos de teste menor e que tenha um escore de mutação alto considerando todos os mutantes,

Estratégias de redução de mutantes (Jia e Harman) 1) Seleção de Mutantes (“Mutant Sampling”) 2) Agrupamento de Mutantes (“Mutant Clustering”) 3) Mutação Seletiva (“Selective Mutation”) 4) Mutação de Ordem Superior (“High Order Mutation”)

1. Seleção de Mutantes (“Mutant Sampling”) Seleciona aleatoriamente os mutantes. Random X% Seleciona uma porcentagem X de mutantes. Seleciona uma porcentagem X de mutantes de cada operador

2) Agrupamento de Mutantes (“Mutant Clustering”) Utiliza algoritmos de clustering – k-means por exemplo - para agrupar os mutantes segundo algumas medidas de similaridade características dos programas, como variáveis, comandos mutados, casos de teste, etc. Seleciona um ou mais (x%) de cada grupo.

3. Mutação Seletiva (“Selective Mutation”) Reduzir o nr de mutantes eliminando os redundantes ou similares, ou facilmente mortos pelos casos de teste. - eliminar X operadores mais custosos (em termos de casos de teste) - eliminar X operadores mais custosos em uma categoria de operador – por ex em comando, variável, cte, operador. - determinar um conjunto essencial de operadores: reduz mutantes, mantendo escore original

4. Mutação de Ordem Superior (“High Order Mutation”) - Reduzir o nr de mutantes combinando n operadores de mutação e gerando mutantes com mais de uma modificação, ou seja n modificações. - n é ordem do mutante. First-Order Mutation (FOM) n =1, mutação tradicional Second-Order Mutation (SOM) n=2 Mutação de segunda ordem. Higher-Ordem Mutation (HOM) Mutação de ordem superior.

4. Mutação de Ordem Superior (“High Order Mutation”) A ideia é que casos de teste que matem os HOMs, matem seus FOMs constituintes – menos mutantes e menos casos de teste. Ainda pode haver HOMs que necessitem casos de teste extras, ou seja não são mortos pelos casos de teste que matam os FOMs  aumento da eficácia. Não considera o efeito do acoplamento.

Fortemente Subsuming e Acoplado

Fracamente Subsuming e Acoplado

Fracamente Subsuming e Desacoplado

Não Subsuming e Desacoplado

Não Subsuming e Desacoplado

Não Subsuming e Acoplado

Estratégias para geração de HOMs - SOMs LastToFirst seleciona o primeiro mutante da lista de mutantes disponíveis. Em seguida, seleciona o último mutante da lista, então o segundo mutante, o penúltimo, o terceiro mutante, o antepenúltimo e assim por diante. DifferentOperators - seleciona mutantes de diferentes operadores para formar um HOM. RandomMix - seleção aleatória de mutantes.

Estratégias para geração de HOMs - SOMs First2Last parecida com LastToFirst, porém ordena a lista de mutantes conforme o local onde a mutação ocorre no código. Assim, mutantes com modificações em pontos bem distintos do software são utilizados. Independente de ferramenta. SameNode utiliza mutantes constituídos de defeitos introduzidos em um mesmo bloco de código.

Estratégias para geração de HOMs - SOMs SameUnit seleciona mutantes que possuem defeitos em uma mesma unidade do sistema. SameUnitFirstToLast e SameUnitDifferentOperators aplicam respectivamente as estratégias First2Last e DifferentOperators em uma mesma unidade do sistema.

Estratégias para geração de HOMs - SOMs Each-Choice, seleciona sequencialmente os mutantes de uma lista de mutantes Estratégia baseada em busca – utiliza algoritmos de busca, tais como os Genéticos, guiados por um função de fitness que pode estar associada ao escore de mutação, à relação com os FOMs constituintes (strenght) e outros fatores de custo.