Therac-25
Este artigo não cita fontes confiáveis. (Julho de 2024) |
Therac-25 era uma máquina de radioterapia controlada por computador, muito moderna para sua época, por permitir a utilização do mesmo equipamento para a aplicação de diversas doses de radiação nos pacientes. Houve uma série de pelo menos 6 acidentes entre 1985 e 1987, nos quais os pacientes receberam overdose de radiação. Pelo menos cinco mortes aconteceram devido aos acidentes, causados por erros no software que controlava a máquina. Este acidente mostrou o perigo que reside em softwares que controlam operações de segurança.
Descrição do Problema
editarA máquina trabalhava com dois modos de tratamento:
- Terapia de feixe de Elétrons direto, que aplicava desde baixas energias (5 MeV) até energias altas,por exemplo 25 MeV, durante um curto período de tempo;
- Terapia com Raios X, que usava o feixe de elétrons de 25 MeV passando por um alvo de tungstênio que o convertia em Raios X.
Quando operava no modo de Feixe de Elétrons direto, um raio de elétrons de baixa intensidade era emitido diretamente da máquina, e então era espalhado para uma concentração segura usando magnetos. Quando operava em modo de Raios X, a máquina havia sido desenhada para rotacionar três componentes no caminho do feixe de alta intensidade emitido, para moderar sua força e modelar seu formato: um target que convertia o feixe de elétrons em Raios X, um filtro, que modelava estes raios e uma câmara de íons, que media a intensidade dos raios.
Os acidentes aconteciam quando o feixe de alta intensidade era ativado sem o target ter sido rotacionado para seu lugar; o software da maquina não detectava que isto havia acontecido e não podia detectar que o paciente estava recebendo uma dose letal de radiação, ou evitar que isso ocorresse. O feixe de alta intensidade atingindo diretamente os pacientes causava a sensação de um forte choque elétrico e a ocorrêcia de queimaduras. Em alguns casos, os pacientes morreram pouco depois devido a exposição excessiva à radiação.
Causas
editarPesquisadores que investigaram os acidentes encontraram diversas causas que contribuíram para os acidentes acontecerem. Entre elas, estavam alguns erros de desenvolvimento que poderiam ter sido evitados, como:
- O código do software não havia sido revisado/testado independentemente;
- O projeto do software não havia sido documentado com detalhes suficientes para permitir o entendimento dos erros
- A documentação do sistema fornecida aos usuários não explicava o significado dos códigos de erro que a máquina retornava
- A primeira reação dos funcionários da AECL (fabricante da máquina) foi negar a existência de erros.
Os pesquisadores também encontraram diversos problemas de engenharia:
- O projeto não continha travas de hardware para prevenir que o feixe de elétrons de alta intensidade fosse aplicado sem o filtro estar em seu lugar;
- O software de modelos mais antigos havia sido reutilizado sem se considerar as diferenças no hardware;
- Os modelos antigos possuíam travas de hardware, quando o defeito se manifestava nestes modelos, eles reiniciavam, o que sempre havia sido visto como algo perturbador, mas nunca foi investigado;
- O software considerava que os sensores sempre funcionavam corretamente, e não havia como verificar isto;
- O sistema de controle não operava sincronizado com a interface usada pelo operador da máquina, e caso o operador mudasse a configuração da máquina muito rapidamente, o sistema não atribuía os valores digitados para os controles (o que levava a aplicação das doses letais);
- Overflows podiam fazer o software não executar procedimentos de segurança;
O caso de Therac-25, suas causas e consequências, é hoje um tema de estudo constante na história da computação e da medicina.
Ver também
editarLigações externas
editar- Os Acidentes de Therac-25 (PDF em inglês), por Nancy Leveson (versão completa do relato do caso)