O que é Qualidade de Software

Medição e melhoria de performance

Garmisch - Melhoria de performance

Conhecimento de Hardware

Funcionamento de Hardware

Verificação do trabalho realizado

Complexidade alta

Personalidades

Edsger Wybe Dijkstra

Edsger Wybe Dijkstra

11/05/1930 - 06/08/2002

Programação Estruturada

Pioneiro

Arquiterura de Software

Design de Algoritmos

Metodologias de Programação

Estudo em programação concorrente

Pilares de programação distribuida

Calvin Carl Gotlieb

Calvin Carl Gotlieb

27/03/1921 -

Ferramentas Avaliativas de Sistemas

Monitoramento

Monitores de Hardware

Monitores de Software

Modelagem

Análise

Simulação

Friedrich L. Bauer

Friedrich L. Bauer

10/06/1924 - 26/05/2015

Teorema de Bauer-Fike

Fundamentos da interpretação e tradução de linguagens de programação

Criptologia

Corretude de Software

Provas Matemáticas

Provas por Indução

Testes mostram os erros

Mais fácil identificar matemáticamente

Problemas em programar para todos os usuários

Difícil pensar em pior caso de uso

Problemas em re-ensinar maus hábitos

Debugging

Técnicas classicas

Diferenças - Debugging e Testes

Snapshots

Core Dump

Teste de problemas locais/Globais

Testes com usuários

Intelligent Ignoramus

Bugs - Estranhos e Persistentes

Técnicas On-line e off-line

Técnicas on-line

Acesso a memória in-time

Métodos de análise automáticos

Debuggin, a máquina deve analizar o código e encontrar os bugs.