Abordando Falhas na Engenharia de Software: A Necessidade de Melhores Práticas e Garantia de Qualidade

Pedro Duprat

por Pedro Duprat | 2020-03-04

O campo da engenharia de software tem enfrentado inúmeras falhas de alto perfil nos últimos anos, destacando a necessidade de práticas de desenvolvimento aprimoradas, melhores testes e uma garantia de qualidade mais robusta. Aqui estão alguns exemplos de falhas na engenharia de software que ganharam destaque:

Malfuncionamento do Therac-25 na Terapia de Radiação:

Na década de 1980, uma máquina de terapia de radiação chamada Therac-25 foi projetada para fornecer doses precisas de radiação a pacientes com câncer. No entanto, devido a um erro de software, a máquina administrou doses letais de radiação a vários pacientes, resultando em pelo menos cinco mortes. O incidente foi atribuído a uma combinação de falhas de design de software, testes inadequados e protocolos de segurança insuficientes.

Explosão do Foguete Ariane 5:

Em 1996, o foguete Ariane 5 explodiu apenas 37 segundos após o lançamento devido a um erro de software. O erro fez com que o sistema de navegação do foguete falhasse, levando a uma falha catastrófica do sistema de orientação do foguete. O incidente foi atribuído a uma combinação de falhas de design de software, testes inadequados e protocolos de segurança insuficientes.

Erro Heartbleed:

Em 2014, uma vulnerabilidade crítica foi descoberta na biblioteca de criptografia OpenSSL, que é usada para proteger comunicações online. O erro, conhecido como Heartbleed, permitiu que atacantes acessassem informações sensíveis, incluindo senhas e chaves de criptografia. O incidente foi atribuído a uma combinação de falhas de design de software, testes inadequados e protocolos de segurança insuficientes.

Violação de Dados da Equifax:

Em 2017, a agência de relatórios de crédito Equifax sofreu uma violação massiva de dados, expondo informações sensíveis de mais de 147 milhões de pessoas. A violação foi atribuída a uma combinação de vulnerabilidades de software, protocolos de segurança inadequados e testes insuficientes.

Acidentes com o Boeing 737 MAX:

Em 2018 e 2019, dois aviões Boeing 737 MAX caíram, resultando na morte de 346 pessoas. Os acidentes foram atribuídos a uma combinação de falhas de design de software, testes inadequados e protocolos de segurança insuficientes.

Ataque de Ransomware WannaCry:

Em 2017, um ataque global de ransomware conhecido como WannaCry afetou mais de 200.000 computadores em 150 países. O ataque foi atribuído a uma combinação de vulnerabilidades de software, protocolos de segurança inadequados e testes insuficientes.

Ataque de Malware NotPetya:

Em 2017, um ataque de malware conhecido como NotPetya afetou várias grandes empresas, incluindo Maersk e FedEx. O ataque foi atribuído a uma combinação de vulnerabilidades de software, protocolos de segurança inadequados e testes insuficientes.

Esses exemplos destacam a necessidade de práticas de engenharia de software aprimoradas, incluindo:

Alguns dos principais aprendizados dessas falhas na engenharia de software incluem: