tópicos avançados em engenharia de software generating tests from counterexamples allynson...

8

Click here to load reader

Upload: internet

Post on 16-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Tópicos Avançados em Engenharia de Software

Generating Tests from Counterexamples

Allynson PraxedesLeonardo Nunes

Page 2: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Resumo

Software model Checker extendido do BLAST-Conjunto de Vetores de testes

-Localizações do programa(Predicado P verdadeiro)

Código morto

Page 3: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Model Checker

Execução do programa viola uma especificação do mesmo.

Caminho falhos ou Caminhos que violam a especificação

Executa até encontrar um Counterexample

Page 4: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Overview

Page 5: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Fase 1: Model checking

• Encontrar o vetor teste que leva o programa para a localização L5;

• m=z; assume (y<z); assume (x<y);• Os passos para a execução do programa

alcançar L5 no CFA Counterexemple

Page 6: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Fase 2: Tests from counterexamples

• Encontrar um vetor teste – valores associados a x, y e z – que alcance L5;

• trace formula (TF) – conjunção das restrições:– (m = z) ^ (y < z) ^ (x < y)– “x=0,y=1,z=2,m=2”

Page 7: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Continuação

• Repetir as duas fases até para cada localização• Até produzir um conjunto de vetores teste

para todas as localizações de CFA.

• Localizações não são alcansáveis: L13 e L15

Page 8: Tópicos Avançados em Engenharia de Software Generating Tests from Counterexamples Allynson Praxedes Leonardo Nunes

Executando testes

• Construir o Test Driver para o programa dado;• Utilizando o BLAST’s testdriver generator;• Aceita como entrada os vetores de teste

gerados;• Executa os testes.