O que é Qualidade de Software
Debugging
Métodos de análise automáticos
Debuggin, a máquina deve analizar o código e encontrar os bugs.
Técnicas On-line e off-line
Técnicas on-line
Acesso a memória in-time
Técnicas classicas
Testes com usuários
Bugs - Estranhos e Persistentes
Intelligent Ignoramus
Teste de problemas locais/Globais
Core Dump
Snapshots
Diferenças - Debugging e Testes
Corretude de Software
Problemas em re-ensinar maus hábitos
Difícil pensar em pior caso de uso
Problemas em programar para todos os usuários
Provas Matemáticas
Provas por Indução
Mais fácil identificar matemáticamente
Testes mostram os erros
Personalidades
Friedrich L. Bauer
Criptologia
Fundamentos da interpretação e tradução de linguagens de programação
Teorema de Bauer-Fike
10/06/1924 - 26/05/2015
Calvin Carl Gotlieb
Ferramentas Avaliativas de Sistemas
Modelagem
Simulação
Análise
Monitoramento
Monitores de Software
Monitores de Hardware
27/03/1921 -
Edsger Wybe Dijkstra
Pilares de programação distribuida
Estudo em programação concorrente
Pioneiro
Metodologias de Programação
Design de Algoritmos
Arquiterura de Software
Programação Estruturada
11/05/1930 - 06/08/2002
Medição e melhoria de performance
Complexidade alta
Verificação do trabalho realizado
Funcionamento de Hardware
Conhecimento de Hardware
Garmisch - Melhoria de performance