Yazılım hataları hayatımızda pek çok endişeye, aksaklığa neden olabilir ve zamanımızı alabilir. Ancak nadiren de olsa ölümcül sonuçlara yol açabilirler. 1985 yılında, Therac-25 adlı bir radyoterapi cihazı, yazılımındaki kritik bir hata nedeniyle en az altı kişiye 100 kat fazla radyasyon dozu uygulayarak üç kişinin ölümüne neden oldu. Bu trajik olay, teknoloji dünyasında ve tıp alanında uzun yıllar bir uyarı hikayesi olarak anıldı.
Therac-25, piyasaya sürüldüğünde tıp kurumları için oldukça cazipti. Kompakt bir cihazda devrim niteliğinde iki farklı tedavi modu sunuyordu. Bunlardan biri, cilt kanseri gibi yüzeysel doku problemlerini hedeflemek için elektron ışını terapisiydi. Diğeri ise yüksek akımlı elektron ışını ile derin doku problemlerini tedavi etmek için Megavolt X-ışını terapisiydi. Bu iki modun karıştırılması istenmeyen sonuçlara yol açabilirdi.
Yazılıma Geçiş ve Güvenlik Sorunları
Therac-25 ile gelen en önemli yeniliklerden biri, kontrollerin tamamen yazılıma devredilmesiydi. Önceki cihazlarda, bu tür kazaları önlemek için elektromekanik donanım kilitleri bulunuyordu. Örneğin, Therac-20 modelinde de Therac-25 ile paylaşılan yazılım hataları olduğu belirtiliyor, ancak donanım, yazılım arızalansa bile güvenli olmayan çalışma koşullarını engelliyordu.
Bir teknoloji analizi, Therac-25'teki hatanın bir yarış durumu (race condition) nedeniyle ortaya çıktığını detaylandırıyor. Bu ölümcül hatanın meydana gelmesi için genellikle cihaz operatörünün yanlış işletim modunu seçmesi ve hemen ardından hatayı düzeltmeye çalışması gerekiyordu. Deneyimli bir operatör tedavi parametrelerini o kadar hızlı değiştirebiliyordu ki, yazılım giriş işleyicisi ile radyasyon ışını mantığı arasındaki 'yarış durumu' nedeniyle bir güvenlik kontrolünü atlıyordu.
Önemle belirtmek gerekir ki, Therac-25'in radyasyon ışını modunu değiştirmesi yaklaşık 8 saniye sürüyordu. Hızlı operatörler, bu zaman penceresi içinde yaptığı girişlerle yazılımı yanıltabiliyordu.
Kaydedilen ilk kaza Haziran 1985'te meydana geldi ve sonuncusu Ocak 1987'de yaşandı. Therac-25'in üreticisi olan AECL, aylarca sistemlerine atfedilen herhangi bir sorumluluğu reddetti ve ancak ilkbahar 1986'da kapsamlı bir soruşturma başlattı. Bu zamana kadar, ilgili kurumlar da kazaları soruşturmaya başlamıştı.
Therac-25'in ölümcül hatalarının ardından, tüm tıbbi yazılımlar için resmi doğrulama, titiz testler ve iyileştirilmiş dokümantasyon çağrıları yapıldı. Therac-25 ile yaşanan sorunlar, günümüzde bilgisayar bilimi eğitimlerinde sıkça öğretilen dikkat çekici bir vaka çalışması haline gelmiştir.