Therac-25案例

✍ dations ◷ 2025-08-10 17:03:34 #工程故障,健康灾害,卫生信息学,核医学,程式错误,软件工程,医疗事故

Therac-25事件是在软件工程界被大量引用的案例。Therac-25是加拿大原子能有限公司(英语:Atomic Energy of Canada Limited)(AECL)所生产的放射线疗法机器,在Therac-6和Therac-20之后推出(以往的Therac-6和Therac-20是加拿大原子能有限公司和法国的CGL公司合作开发)。在1985年到1987年之间,在美国及加拿大至少有六起和Therac-25相关的医疗事故,因为软件设计时的瑕疵,使病人受到了过量的辐射:425。软件的瑕疵是因为竞争危害(二个同时进行程式之间时序冲突造成的问题),有瑕疵时会使病患接受到比正常剂量高一百倍的辐射,因此造成患者死亡或重伤。

此一事故突显了安全关键系统若使用软件控制时的潜在危险性,也是软件工程及医学信息学的经典案例。另外因为工程师的过度自信:428,而且没有进行适当的尽职调查来修复已知的软件问题,这也是一个极端的例子,工程师因为对其初期的工程过度自信,没有相信终端用户提出的问题,最后产生了严重的结果。Therac-25事件也因而唤醒软件开发工程化管理方法论的省思。

Therac-25可以进行二种放射线疗法:

若是要进行直接电子束疗法,设备会直接产生低能量的电子束,利用电磁铁扫描方式让电子束分散到安全的剂量范围。若是要进行百万伏特级X射线疗法,设备会转动四个零件调整电子束的路径,使电子束进入X射线腔中,而X射线腔也有设备会侦测电子束的强度。

此事件发生时,所发射的是高能量的电子束,而不是预期的低能量电子束,而且设备对应的零件没有让电子束进入X射线腔中。以前的机种有硬件互锁机制以避免这种情形发生,而Therac-25取消了硬件互锁机制,为了安全起见改用软件的互锁机制。软件互锁机制在有竞争危害时会失效。其缺陷如下:有一个测试程序中一字节的计数器常常会溢位,若操作员恰好在计数器溢位时输入命令,软件互锁机制会失效。

高能量的电子束给予的能量是理想辐射剂量的100倍,是可能会造成β辐射的致命剂量。患者Ray Cox描述其感觉像“强烈的电击”,他因此尖叫跑出诊疗室。几天后病人开始出现辐射灼伤(英语:radiation burn),病人也开始出现辐射过量的症状,其中有三个病患后来因为辐射过量而死亡。

调查委员会调查后的结论是此一系列事故的主因是不良的软件设计及开发实务,没有明确的将主因归因到所找到的软件编程错误。而软件的设计方式也让软件在实务上不可能以自动化测试进行测试。

研究这系列事故的研究者发现了几个造成此事件的主因,包括了以下的组织层面原因:

研究者也发现一些工程方面的原因:

此软件是用组合语言撰写,因此在测试时需要更多心力,也需要心力才能进行好的设计。不过语言选择本身没有列为事故的主要原因。设备也使用其自己的操作系统。

Leveson指出此事件的一个重大教训就是不可以假设复用的软件就一定安全: “有一个天真的假设,就是认为软件复用以及用现有的商业软件可以增加安全性,因为要使用的软件已经频繁使用过。复用的软件模组无法保证在配合新系统使用时的安全性...”。为了因应像Therac-25这类的事件,创立了IEC 62304(英语:IEC 62304)标准,导入了针对医疗设备的开发生命周期标准,而且也有针对使用未知谱系的软件(英语:software of unknown pedigree)时的特定建议作法。


相关

  • 凯泽在物理学里,波数是波动的一种性质,定义为每 2π 长度的波长数量(即每单位长度的波长数量乘以 2π)。更明确地说,波数是每 2π 长度内,波动重复的次数(一个波动取同样相位的次
  • 二氢叶酸还原酶1BOZ, 1DHF, 1DLR, 1DLS, 1DRF, 1HFP, 1HFQ, 1HFR, 1KMS, 1KMV, 1MVS, 1MVT, 1OHJ, 1OHK, 1PD8, 1PD9, 1PDB, 1S3U, 1S3V, 1S3W, 1U71, 1U72, 1YHO, 2C2S, 2C2T, 2DHF, 2W3A
  • S-腺苷基蛋氨酸S-腺苷甲硫氨酸(又名S-腺苷蛋氨酸,英语:S-adenosyl methionine,缩写为SAM)带有一个活化了的甲基(右图标注),是一种参与甲基转移反应的辅酶,存在于所有的真核细胞中。在失去该活化甲基
  • 娅婿姻亲指基于婚姻关系而生之亲属型态,一方配偶与他方配偶之亲属间,因双方缔结婚姻后,成为相互具法律上亲属关系的情况。《中华民国民法》第969条规定,包括配偶的血亲、血亲的配偶
  • 扬·菲舍尔扬·菲舍尔(捷克语:Jan Fischer,1951年1月2日-),捷克政治人物。曾于2009年5月至2010年6月间出任捷克总理。扬·菲舍尔1974年毕业于布拉格经济大学。1980年,菲舍尔加入捷克斯洛伐克
  • 鹿城区鹿城区是中国浙江省温州市的主城区所在地,是温州市经济、文化、政治中心。2010年人口129万,面积294.38平方千米。目前辖12个街道和2个镇。鹿城区政府驻地在2005年12月之前为墨
  • 明末农民战争史《明末农民战争史》,明史研究重要作品,顾诚撰。《明末农民战争史》一书否定了郭沫若对于李自成失败的观点,《甲申三百年祭》认为李自成的失败在于进入北京之后的快速腐化。顾诚
  • 郑经嗣位之争郑经嗣位之争,又称郑经克台或郑经靖难,是台湾明郑王朝的历史事件。公元1662年(永历十六年)5月至11月,首代延平王郑成功病薨后,郑成功之子郑经与郑成功之弟郑袭为了争夺王位,展开长
  • 铜石并用时代铜石并用时代,新石器时代和青铜时代之间的过渡性时期,在该时期主要的工具和武器仍然是石器,但同时出现了少量以红铜器(天然铜器),又称红铜时代、金石并用时代。红铜即天然铜,质地软
  • 霍尔茨布林克出版集团霍尔茨布林克出版集团(德语:Verlagsgruppe Georg von Holtzbrinck),于1948年成立,总部设于斯图加特,是德国著名的出版集团,拥有麦克米伦出版公司100%股权,是德国时代周报(英语:Die Zei