Therac-25 ve Yazılım Hatalarının Korkunç Sonuçları

t25Therac-25, Kanada Atomik Enerji Ltd. tarafından üretilmiş bir radyasyon tedavi cihazıydı. 1985 ila 1987 arasında en az altı kazaya sebep olan bu cihaz, yazılımındaki hatalar yüzünden bazı hastalara gerekenden 100 misli fazla radyasyon vermiştir. 6 hastadan 3’ü, bu fazla radyasyondan öldü.

Therac-25, hatayi sistemlerde yazılımın kontrolünün ne kadar önemli olduğunı ortaya çıkaran klasik bir senaryo olarak kaldı.

Cihazın 2 çalışma şekli vardı: Direk elektron-tabancası terapisi: bu modda düşük dozda yüksek enerji elektronları veriyordu (yani kısa bir süre için), ve MegaVolt X-Işını tedavisi modu: bunda da yüksek enerjili X-Işını parçacıklarını çarpıştırarak bir hedefe bunları gönderebiliyordu.

Cihaz elektron-tabancası modunda çalışırken, düşük enerjili elektronlar cihazdan çıkıp, mıknatıslar ile gelen elektron demeti yayılarak güvenli bir doza iniyordu.

Megavolt X-Ray modunda ise, cihaz elektronların önüne bir parçayı çevirip yerleştiriyordu. Bu parça hem gelen ışını yayıyordu, hem de verilen dozu ölçüyordu.

Kazalar,düşük güçteki tabanca yerine yüksek güçlü elektron tabancası devreye alındığında ve önüne ışını yayan plaka konmadığında ortaya çıktı. Yazılım bu durumu fark etmedi, ve hastalara 100 misli fazla enerji verildi.

Hastalar “elektriğe kapılmış gibi” bir hisse kapıldılar, ve bazıları tedavi odasından çığlık çığlığa kaçtılar.

Sebebi araştırıldığında, yazılımda bir sorun olduğu, ve aslında kullanılan yazılımın daha önceki modeller (Therac-5 gibi) de de kullanıldığı, ancak eski modellerde bir de mekanik kontrol olduğu fark edildi. Eski modellerde bu mekanik kontrol olduğunda asla bu sorun oraya çıkmamaktaydı.

Yazılımın kontrolunu zorlaştıran bir etken, sorunun nadiren ortaya çıkmasındandı (önce radyoloji uzmanı klavyeden hatalı olarak X (yüksek güç) ü seçip, sonra hatasını düzeltmek için yukarı ok tuşuna basması ve tekrar E tuşuna basması gerekliydi.

Ayrıca cihazın donanımı, yazılıma cihazın şu anki konumu hakkında hiçbir bilgi sağlamamaktaydı.

Son olarak, cihazın yazılımı assembly dilinde yazılmıştı ki, bu dilde yazılmış programlarda hata kontrolu yapmak son derece zordur.

http://en.wikipedia.org/wiki/Therac-25

Leave a Reply