Você está na página 1de 6

Desastres de Software

Therac-25
Joao M.Pereira, Julliana C.G.A.Silva, Nayana P.L. Farias, Willyelns G.Xavier
Instituto Metropole Digital Universidade Federal do Rio Grande do Norte (UFRN) Caixa Postal
1641 - 59072-970 Natal RN Brasil
{jmatiasn, jullianacrln}@gmail.com, naayfarias@hotmail.com, willyelnsg.x@ig.com.br

Abstract. In risk systems, simple mistakes can have huge consequences. Are
the good programming practices and the use of models for software development such as
waterfall model that bring enhanced reliability and security to the system.This paper aims to
show that not using good programming practices can cause.
Resumo. Nos sistemas de risco, erros simples podem ter consequencias enormes.
Sao as boas praticas de programaca o e o uso de modelos de desenvolvimento de software,
como o modelo cascata que trazem maior confiabilidade e seguranca ao sistema. Esse trabalho tem como objetivo mostrar o que o nao uso de boas praticas de programaca o, podem
ocasionar.

Contexto Historico

Softwares tambem podem ser protagonistas em acidentes medicos. Um dos acidentes no


ramo da radioterapia mais marcantes o caso Therac-25. A maquina foi desenvolvida pela
Atomic Energy of Canada Limited (AECL) e pela CGR, uma empresa francesa, e era a sucessora de duas outras maquinas: Therac-6 e Therac-20. Ao total, 11 maquinas foram instaladas
no mundo: 5 nos Estados Unidos e 6 no Canada. Na maior parte das vezes, a Therac-25 se
comportou como esperado e realizou corretamente a radioterapia.
No entanto, entre junho de 1985 e janeiro de 1987, ocorreram seis acidentes
envolvendo overdoses de radiaca o, resultando em alguns feridos e ate mesmo mortos.Esses
acidentes foram descritos como a pior serie de acidentes com radiaca o dos 35 anos de historia
dos aceleradores medicos.

2 Funcionamento
Ao contrario das suas predecessoras (Therac-6 e Therac-20) o Therac-25 funcionava a partir de uma interface de software. O software apenas adicionava conveniencia ao operar a
maquina, ja que a mesma era capaz de funcionar apenas atraves do hardware. Os designers
da maquina acreditavam poupar tempo e dinheiro com isso. A maquina fazia uso de um

minicomputador,o DEC PDP 1 e operava em tres modos que eram controlados por tres
microswitches:
Modo eletron (ou low energy): O modo eletron era usado quando desejava-se aplicar
baixas doses de radioatividade. Tais doses podiam chegar a 5Mev1 .
Modo foton (ou high energy): O modo foton era usado para terapias mais severas, invasiva.Nesse modo maquina havia sido desenhada para ajustar o feixe de raios de tres
maneiras: em relaca o a intensidade (modelada por uma camara de ons), a forca e ao
formato (modelado por um filtro). O tungstenio encontrado na placa que o paciente usava durante o tratamento convertia o feixe de eletrons em Raios X. As doses chegavam
a 25MeV.
Modo campo de luz: nao utilizava feixes de raios radioativos, mas era usado para
facilitar a colocaca o do paciente na posica o correta.

3 Bugs e Problemas
3.1

Contextualizando o problema

Apesar de ter tres modos de funcionamento, o problema da Therac-25 estava no segundo


modo. A maquina havia sido desenhada para rotacionar tres componentes: a intensidade , a
forca e o formato.
Os acidentes aconteciam quando o feixe era ativado sem o primeiro componente ter sido rotacionado para seu lugar. O software da maquina nao detectava esse problema
e entao nao conseguia detectar que o paciente estava recebendo uma dose letal de radiaca o e
por isso, nao evitava que isso ocorresse.

3.2

Listando os bugs

1- Overflows podiam fazer o software nao executar procedimentos de seguranca;


2- O projeto nao continha travas de hardware para prevenir que o feixe de eletrons de
alta intensidade fosse aplicado sem o filtro estar em seu lugar;
3- O projeto do software nao havia sido documentado com detalhes suficientes para
permitir o entendimento dos erros;
4- A documentaca o do sistema fornecida aos usuarios nao explicava o significado dos
codigos de erro que a maquina retornava;
5- O software de modelos mais antigos haviam sido reutilizado sem se considerar as
diferencas no hardware e software (novo);
6- Os modelos antigos possuam 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;
1 MeV

- Mega Eletron Volt

7- O sistema de controle nao operava sincronizado com a interface usada pelo operador da maquina, e caso o operador mudasse a configuraca o da maquina muito rapidamente,
o sistema nao atribua os valores digitados para os controles (o que levava a aplicaca o das
doses letais);

3.3

Bugs vs Cascata

O modelo de desenvolvimento de software em cascata possui 5 estagios gerais: requerimentos, projeto, implementaca o, verificaca o e manutenca o. Analisando os problemas previamente citados em conjunto com a cascata podemos definir uma conexao entre eles:
Projeto (2,4)*: Desconsideraca o na parte da seguranca, principalmente por ser um sistema de risco, sem analise de compatibilidade hardware/software.
Implementaca o (1,3,6)*: Falta de atenca o no momento de implementar, nao tratando
exceco es nem sincronia do sistema com o hardware.
Verificaca o (5)*: Desconsideraca o de um comportamento inesperado do sistema.

3.4

Analise

A conexao entre a cascata e os problemas encontrados mostram ma formulaca o do projeto,


reaproveitamento de hardwares defasados e incompatveis, falta de tratamento de exceco es,
travas, revisao e testes nos codigos de forma independente, alem da ineficiencia na documentaca o
da maquina para os usuarios. Em nossa concepca o, todos esses problemas tiveram incio na
fase projeto do modelo cascata.

Figure 1: Modelo de desenvolvimento em cascata

Casos Semelhantes

4.1

A Multidata System

A Multidata Systems International e uma empresa de produtos radioterapeuticos, que em


2001 teve um de seus softwares, utilizados em maquinas radioterapeuticas, envolvido em
uma superexposica o de pacientes a` radiaca o, no Panama.

4.2

O Problema

O software utilizado pela maquina permitia formas incorretas de entrada de dados que acabou
levando a` erros de calculos do tempo e dosagem de tratamento. Alem disso, alguns fsicos
medicos, encarregados de checar a maquina, apos consultarem outros medicos e o manual
do software pensaram ter descoberto um modo de burlar o problema da maquina: durante
o manuseio da maquina, ao inves de desenharem as 4 placas de proteca o contra radiaca o,
faziam-na considerar que havia apenas uma placa grossa com uma cavidade, para evitar superdosagem. No entanto, ao inves de melhorar a situaca o, isso apenas o agravou, pois dependendo de como a cavidade fosse desenhada na maquina ela poderia dar a dosagem correta ou
uma superdose.

4.3

Desfecho do Caso

No total foram relatadas 28 casos de superdosagem, dentre eles, 8 mortes. Os 3 medicos que
tentaram burlar o software foram indiciados por assassinato.A empresa fez uma convocaca o
e comecou uma correca o do software problematico em setembro de 2001. A empresa foi
julgada e responsabilizada pelo erro, devendo indenizar as vtimas.

Conclusao

Antes da Therac-25 ser lancada no mercado dos Estados Unidos, a AECL obteve aprovaca o
da United States Food and Drug Administration(FDA). Mas so em marco de 1983, a AECL
realizou uma analise de seguranca na Therac-25. Essa analise foi feita no formato Fault
Tree e aparentemente excluiu o software. De acordo com os resultados da analise, foram
encontradas as seguintes conclusoes sobre a maquina e seu software:
Erros de programaca o foram reduzidos por extensos testes em um simulador de hardware e em condico es de campo em unidades de teleterapia. Quaisquer erros de software
residuais nao foram includas na analise;
O software nao se degrada devido a` fadiga ou processo de reproduca o;
Erros de execuca o da maquina sao causados por componentes de hardware com defeito
e por erros de software induzidos por partculas alfa e rudos eletromagneticos.

A Fault Tree resultante da analise pareceu incluir falha na maquina mas, aparentemente, so considerou as falhas de hardware. Porem, mesmo com todos os testes e analises
realizados para garantir a seguranca e eficencia da Therac-25, em fevereiro de 1987 a Health
Protection of the Canadian junto com a United States Food and Drug Administration (FDA)
anunciaram que ela era perigosa ao ser usada e que seria desligada ate que mudancas permanentes fossem feitas. Finalmente em julho do mesmo ano, apos varias revisoes, algumas
recomendaco es foram dadas pela AECL sobre como consertar o modelo Therac-25 para nao
ser mais ameaca a` saude. Algumas dessas recomendaco es foram:
Os operadores nao podiam mudar o modo de tratamento sem reiniciar a maquina;
Assegurar que a placa de metal esteja no lugar se o raio-x for selecionado;
As mensagens de erro devem ser mais claras;
Doses administradas devem ser claramente mostradas ao operador;
Limitar as teclas de edica o para evitar qualquer tipo de digitaca o acidental;
Todos os manuais devem ser reescritos para refletir as novas alteraco es.

Referencias

Wikipedia (2014), Therac -25,


http://pt.wikipedia.org/wiki/Therac-25, Agosto.
L, Nancy (1995), Medical Devices: The Therac 25,
http://sunnyday.mit.edu/papers/therac.pdf
L, Joanne (1998), An Engineering Disaster: Therac 25,
http://www.bowdoin.edu/allen/courses/cs260/readings/therac.pdf, Outubro.
L, Matt (2010), Epic failures: 11 infamous software bugs,
http://www.computerworld.com/s/article/9183580/Epic_failures_11_infamous_
software_bugs?taxonomyId=18&pageNumber=6, Setembro.
W, Alexis, Sections 1: Failures and Errors in Computers.Section 2: Case Study- Therac 25,
http://www.mwftr.com/cneF13/Wells.%208.1and8.2.pdf
International Atomic Energy Agency, Investigation of an Accidental Exposure of Radiotherapy Patients in Panama,
http://www-pub.iaea.org/MTCD/publications/PDF/Pub1114_scr.pdf, Junho.

Virginia Tech Department Computer of Science, Professionalism in Computing - Digital


library,
http://courses.cs.vt.edu/professionalism/Therac_25/Therac-3.GIF.
171 Human-Computer Interation.
http://www.cs.tufts.edu/jacob/171/slides/therac.butler_files/image004.
jpg.
Accidentes Therac-25 .
http://lsi.ugr.es/mvega/docis/aluwork/roddesastres/therac.htm.

Você também pode gostar