Métodos Formais: Apenas Boas Práticas de Engenharia?
Marc Brooker, engenheiro da Amazon Web Services, argumenta em sua palestra principal na conferência TLA+ que os métodos formais não são uma sobrecarga dispendiosa, mas sim um economizador de tempo e dinheiro para sistemas grandes, distribuídos ou de baixo nível críticos. Ao reduzir retrabalhos e o custo de mudanças, o projeto formal melhora significativamente a eficiência do desenvolvimento de software. Nem todo software se beneficia; o desenvolvimento ágil é mais adequado para áreas sensíveis a mudanças nas necessidades do usuário, como interfaces de usuário ou lógica de preços. No entanto, para sistemas grandes com requisitos bem definidos, os métodos formais reduzem eficazmente as taxas de bugs e melhoram o desempenho. Brooker recomenda várias ferramentas, incluindo linguagens de especificação como TLA+, P e Alloy, verificadores de modelos e linguagens de programação com verificação. Ele enfatiza que os métodos formais não apenas garantem a correção, mas também ajudam a explorar opções de otimização, evitando a difícil troca entre correção e desempenho.