Therac-25 oli tietokoneohjattu sädehoitolaite, jonka oli valmistanut kanadalainen yritys Atomic Energy of Canada Limited (AECL). Hoitolaite oli osallisena kuudessa säteilyonnettomuudessa Kanadassa ja Yhdysvalloissa vuosina 1985-1987, jossa sädehoidossa olleet potilaat saivat yliannostuksen radioaktiivista säteilyä.[1] Ohjelmointivirheistä johtuvat tapahtumasarjat johtivat siihen, että laite antoi säteilyä satoja kertoja enemmän verrattuna normaaliin annokseen, jonka johdosta potilas vammautui vakavasti tai jopa kuoli. Onnettomuudet korostivat ohjelmointivirheistä johtuvia vaaroja ja riskejä, ja niitä on käytetty esimerkkitapauksina terveysteknologian, ohjelmistotuotannon ja tietokone-etiikan liittyvien riskien osalta.
Therac-25 oli tyypiltään lineaarikiihdytin, jonka edeltäjiä olivat 1970-luvulla kehitetyt mallit Therac-6 ja Therac-20. Aiemmat mallit AECL oli kehittänyt ranskalaisen CGR-yhtiön kanssa. Mallin numero viittasi käytettävän röntgensäteilyn energiamäärään: Therac-25 pystyi tuottamaan energiamäärältään 25 megaelektronivoltin elektronisuihkun, kun aiemmat mallit pystyivät tuottamaan 6 MeV ja 20 MeV. Therac-25 hyödynsi myös aiemmmissa malleissa käytettyjä ohjelmistoja. Lisäksi aikaisempien mallien tapaan Therac-25 -laitetta ohjattiin PDP-11-sarjan tietokoneella.[2]
Laitteessa oli kolme toimintoa:
Laitteessa oli kaksi merkittävää ohjelmistovirhettä. Ensimmäinen virheistä mahdollisti sen, että jos laitteen operaattori valitsi suuritehoisen säteilyterapia-tilan ennen nopeasti siirtymistä elektroniterapia-tilaan, jäi elektronisuihku suuritehoisempaan tilaan ilman suodatinta. Toinen ohjelmistovirhe johti siihen, että laitteen elektronisuihku pystyi aktivoitumaan myös kenttävalotilassa, jolloin suodatinta ei ollut elektronisuihkun edessä.
Juurisyitä olivat muun muassa:[2]