Os Softwares x e a lei de murphy

 “A demanda por software tem crescido muito mais rápido do que nossa capacidadede produzir software. Além disso, a Nação (Estados Unidos) necessita de software que seja mais utilizável, confiável e poderoso do que o que se produz atualmente. Nós nos tornamos perigosamente dependentes de uma grande quantidade de sistemas cujo comportamento não é bem compreendido e que muitas vezes falha em situações não previstas”.

Investingin Our Future,  President’s Information Technology Advisory Committee(PITAC) Report to the President -  Information Technology Research de 24 Fevereiro de 1999:

  Alguns sistemas são desenvolvidos para durar, outros para “rodar”. A lei de Murphy é implacável: Se alguma coisa tiver que dar errado, certamente dará errado e, da pior forma possível.

 Acidentes e mortes causados por bugs em sistemas:

 Agência Espacial Européia - Ariane-5 (Junho de 1996)

Perda total de um dos foguetes, descontrolado logo após a decolagem

·causa do por exceção gerada pelo código Ada

·o código de erro não era nem mesmo necessário após a decolagem

·graças a alterações físicas do ambiente: suposições não documentadas causam uma situação de pane no sistema.

 

Therac-25 (1985-87)

· máquina de radioterapia com software controlador

· o dispositivo responsável por sincronizar o hardware é removido,mas o software não possui sincronismo

·o software falha na tarefa de manter invariantes essenciais: o feixe de elétrons ou o feixe mais forte de radiação e a chapa se interferem na geração de raios X

·diversas mortes em decorrência de queimaduras

 

Conclusão

      Quando um sistema travar, um programador será responsabilizado. Às vezes a mãe dele também. Alguém sempre vai acha uma forma de por a boa mulher no meio. “Aquele %$##%#&*&(¨&*## não disse que tinha feito todos os testes?”. Parece até que os programadores ocupam o nível mais baixo da cadeia alimentar.

      Precisamos rever nossas práticas e metodologias de para evitar que certos bugs acabem com nossa reputação.  Aqui vai uma dica: Dá próxima vez que estiver codificando um sistema, pare alguns segundos e faça a seguinte pergunta: “Isso pode dar ##%$%$&?” Qualquer semelhança com “sim”, não será mera coincidência. A lei de murphy tarda mais não falha.