← Últimos artigos
💻 computer science

Software is infrastructure: failures, successes, costs, and the case for formal verification

Este capítulo argumenta que, visto que o software funciona como uma infraestrutura crítica e os custos estonteantes de falhas históricas demonstram as consequências severas de uma má qualidade, a adoção de verificação formal e análise de programas é essencial, um posicionamento sustentado por aplicações industriais bem-sucedidas.

Autores originais: Giovanni Bernardi, Adrian Francalanza, Marco Peressotti, Mohammad Reza Mousavi

Publicado 2026-01-30
📖 4 min de leitura☕ Leitura rápida

Autores originais: Giovanni Bernardi, Adrian Francalanza, Marco Peressotti, Mohammad Reza Mousavi

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

A Grande Ideia: Software é o Novo Concreto

Imagine um mundo onde nossas estradas, pontes e usinas de energia não são feitas de aço e concreto, mas de código invisível. Os autores argumentam que o software se tornou a infraestrutura da sociedade moderna. Assim como uma ponte precisa suportar um caminhão sem desabar, nosso software (que controla hospitais, bancos, aviões e até a sua torradeira) precisa funcionar perfeitamente.

O artigo faz uma pergunta simples, mas assustadora: Se uma ponte é construída com matemática errada, ela cai. Se um software é construído com matemática errada, o que acontece? A resposta é: bilhões de dólares desaparecem, pessoas se machucam e, às vezes, pessoas morrem.

O Problema: Estamos Construindo Castelos na Areia

Os autores apontam que tratamos o software de forma diferente da engenharia física.

  • Construindo um Muro: Se você constrói um muro, a física faz o teste. Se o muro for fraco demais, a gravidade o derruba antes mesmo de você pintá-lo. Você não pode "executar" um muro para ver se ele funciona; você apenas o constrói e espera que a matemática se sustente.
  • Escrevendo Software: Software é apenas texto. Você não consegue "sentir" um erro (bug). Você tem que executar o código para ver se ele funciona. Mas executar o código é como dirigir um carro de um precipício para ver se o paraquedas abre. Quando você encontra o erro, o acidente já aconteceu.

O artigo usa um exemplo engraçado: se você digitar rm -rf ~ em um terminal de computador, ele deleta toda a sua pasta pessoal. Você não precisa executá-lo para saber que é perigoso; basta ler o manual (a "matemática") para entender o que ele faz. Mas para códigos complexos, ler o manual não é suficiente.

O Custo da "Matemática Ruim": Um Vazamento de Um Trilhão de Dólares

O artigo lista um "Hall da Fama da Vergonha" de falhas de software nos últimos 40 anos para mostrar o quão caros são os erros. Pense neles como os "desabamentos de pontes" do mundo digital:

  • O Therac-25 (Saúde): Uma máquina de radiação aplicou doses excessivas em pacientes porque o código permitiu que dois botões fossem pressionados rápido demais. Resultado: 6 mortes.
  • O Ambulância de Londres (Serviços de Emergência): Um novo sistema de despacho tinha um vazamento de memória (como um balde com um furo). Ele se encheu de dados antigos e travou. Resultado: As ambulâncias não consegam encontrar os pacientes; 20 a 30 pessoas morreram.
  • O Boeing 737 MAX (Aviação): Um sistema de software chamado MCAS empurrou o nariz do avião para baixo com base em um único sensor defeituoso. Resultado: Dois acidentes, 346 mortes e custos de US$ 20 bilhões.
  • O Escândalo do Horizon (Bancos): Um sistema de contabilidade defeituoso disse a milhares de lojistas que eles estavam roubando dinheiro. Resultado: Mais de 900 pessoas foram injustamente presas, e o sistema custou aos contribuintes mais de £ 1 bilhão para ser consertado.
  • CrowdStrike (TI Global): Um pequeno erro de atualização fez milhões de computadores em todo o mundo ficarem com a tela azul e "morrerem". Resultado: Caos global, custando bilhões em negócios perdidos.

Os autores calculam que a má qualidade do software custa à economia dos EUA US$ 1,56 trilhão por ano. Isso é mais do que o PIB inteiro de muitos países. É dinheiro puramente desperdiçado para consertar erros que poderiam ter sido evitados.

A Solução: O "Projeto Matemático"

O artigo argumenta que precisamos parar de adivinhar e começar a provar que nosso software funciona antes de executá-lo. Isso é chamado de Verificação Formal.

A Analogia:
Imagine que você está construindo um arranha-céu.

  • Método Atual (Testes): Você constrói o 100º andar, depois o 101º, depois o 102º. Você verifica se o elevador funciona. Se o 102º andar desabar, você o derruba e tenta novamente. Isso é caro e perigoso.
  • Verificação Formal: Antes de despejar uma única gota de concreto, você usa matemática avançada para provar que o projeto não pode desabar sob qualquer peso. Você verifica o projeto contra as leis da física para garantir que ele seja perfeito.

No software, isso significa usar a matemática para provar que o código fará exatamente o que deve fazer, e nada mais.

Vale a Pena? Sim, é um Negócio!

Você pode pensar: "Matemática é difícil e cara. Vale a pena?". O artigo diz que sim, absolutamente.

  • Ar...

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →