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
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
Overview
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
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
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
Executando testes Construir o Test Driver para o programa dado; Utilizando o BLASTs testdriver generator; Aceita como entrada os vetores de teste gerados; Executa os testes.