Therac-25
folcloreprogramaçãogovernança e risco
A máquina de radioterapia cujas condições de corrida no software causaram superdoses massivas nos anos 1980, o caso fundador da segurança de software.
Entre 1985 e 1987, o Therac-25 aplicou superdoses de radiação em pelo menos seis pacientes, algumas fatais, depois que o fabricante removeu os intertravamentos de hardware e confiou em um software com condições de corrida disparadas pela digitação rápida dos operadores. A investigação de Nancy Leveson e Clark Turner virou leitura obrigatória: as falhas eram sistêmicas, não um bug isolado, e o código reaproveitado carregava premissas que a nova máquina não honrava mais. Desde então, todo argumento do tipo 'o software segura' precisa responder ao Therac-25.
Entre junho de 1985 e janeiro de 1987 a máquina de radioterapia Therac-25 aplicou sobredoses massivas em seis pacientes. Três morreram. A causa foi uma condição de corrida: se o operador editasse os parâmetros do tratamento rápido o bastante dentro de uma janela de oito segundos, os ímãs que moldavam o feixe nunca eram reposicionados enquanto a interface informava o modo corrigido, então a máquina disparava um feixe de elétrons não modulado num paciente preparado para algo muito mais suave.
A decisão sob o defeito é a parte que importa. Modelos anteriores traziam travas de hardware que impediam fisicamente o disparo numa configuração insegura, e o Therac-25 as removeu em favor de verificações em software. O mesmo defeito existia havia anos no código do modelo anterior, silenciosamente barrado todas as vezes pelo hardware que ninguém achava que estivesse fazendo alguma coisa.
O que o caso estabeleceu é que software em papel crítico de segurança é outra disciplina, e não uma implementação mais barata da mesma. A análise de Nancy Leveson segue sendo ensinada porque as falhas foram tanto organizacionais quanto técnicas: excesso de confiança em código reaproveitado, ausência de revisão independente, relatos de lesão descartados como impossíveis porque o software dizia que eram. Todo argumento a favor de defesa em profundidade em sistemas físicos passa por aqui.