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
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
27/03/1921 -
Ferramentas Avaliativas de Sistemas
Monitoramento
Monitores de Hardware
Monitores de Software
Modelagem
Análise
Simulação
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.