É comum já ter presenciado um aplicativo travar. Após fechar e reabrir, a vida segue seu curso. No entanto, algumas falhas de programação não se resolvem dessa forma. Elas foram responsáveis pela queda de foguetes, interrupção de bancos, cancelamento de voos e, em situações extremas, resultaram em mortes.
Esses eventos ganharam uma designação específica: tratam-se dos bugs históricos de software. Compreender a importância desses casos auxilia na percepção de como a tecnologia atual se tornou (um pouco) mais segura.
O que é um bug, afinal?
Um bug é um erro no código de um programa. O software executa exatamente o que foi programado — mas essa programação pode não refletir a intenção do programador. O computador não comete erros: ele simplesmente obedece.
A origem do termo se popularizou devido a uma mariposa que ficou presa em um computador da Universidade de Harvard, em 1947, conforme anotado no caderno da equipe liderada por Grace Hopper. Embora a palavra “bug” tenha se difundido nesse contexto, já era utilizada previamente, inclusive por Thomas Edison.
Cinco desastres que mudaram as regras
Certaines incidentes tornaram-se clássicos na engenharia exatamente por promoverem mudanças significativas:
- Mariner 1 1962: a sonda da NASA foi destruída pouco após o lançamento, devido a um erro em uma fórmula que foi transcrita incorretamente para o código, como a falta de um símbolo.
- Therac-25: uma máquina de radioterapia aplicou doses excessivas em pacientes, resultando em mortes. O problema estava relacionado a uma condição rara no software, que surgia quando o operador digitava comandos com rapidez excessiva.
- Ariane 5: o foguete europeu explodiu cerca de 40 segundos após a decolagem. O código de navegação foi reaproveitado do modelo anterior, que era mais lento, e não suportou os novos parâmetros. O prejuízo é estimado em aproximadamente US$ 370 milhões.
- Mars Climate Orbiter: a sonda se perdeu devido ao uso de sistemas de medição distintos entre duas equipes — uma utilizando unidades métricas e outra em unidades imperiais.
- Bug do milênio (Y2K): sistemas mais antigos armazenavam o ano em apenas dois dígitos. A mudança para o ano 2000 poderia ser interpretada como 1900. Governos e empresas desembolsaram entre 300 e 600 bilhões de dólares para corrigir o problema antes da virada do milênio.
Não é coisa do século passado
É tentador supor que esses erros sejam relegados à época dos computadores de fita magnética, mas essa percepção é equivocada.
Em 2012, a corretora Knight Capital perdeu 460 milhões de dólares em questão de minutos devido a um código antigo reativado acidentalmente. Em julho de 2024, uma atualização defeituosa da empresa de segurança CrowdStrike travou milhões de computadores com Windows pelo mundo, afetando aeroportos, hospitais e bancos.
À medida que o mundo se torna mais dependente de software, o potencial de danos causado por um pequeno erro se amplifica.
Por que isso importa para você
Cada desastre estabeleceu novos protocolos. Após o incidente do Therac-25, a área da saúde passou a exigir garantias físicas, além das digitais, em equipamentos médicos. Após o caso do Ariane 5, tornou-se norma testar códigos reaproveitados nas condições reais dos novos projetos. Após o Y2K, as empresas aprenderam a mapear sistemas legados antes que falhas ocorressem.
Existe uma lógica comum em todos esses casos: o problema raramente foi apenas o programador. O erro estava no processo. Houve falta de revisão, falta de testes e falta de questionamentos quanto a possíveis falhas.
Por isso, os bugs históricos continuam a ser objeto de estudo em cursos de engenharia de software. Eles representam a memória de uma indústria ainda jovem. Sem essa lembrança, o mesmo erro pode surgir novamente — mas em um sistema maior, mais veloz e com um número maior de pessoas dependendo dele.
Na próxima vez que um aplicativo travar no celular, lembre-se: está-se diante de um primo distante e inofensivo de incidentes que já custaram vidas e foguetes inteiros.







