快科技资讯 09月22日
Therac-25:40年前的致命软件Bug及其警示
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

1985年,放射治疗机Therac-25因软件中的竞态条件Bug,导致至少六名患者受到高达正常值100倍的辐射照射,其中三人死亡。这款机器集成了两种治疗模式,但软件控制的混淆导致了事故。与早期依赖硬件联锁的机器不同,Therac-25纯软件控制的设计使其在软件故障时尤为脆弱。操作员因快速输入纠正失误模式而触发了该Bug,通常在改变辐射束模式的8秒窗口内发生。尽管制造商AECL最初推诿,但在FDA介入后进行了调查。Therac-25的悲剧极大地推动了对医疗软件的形式验证、严格测试和文档改进的要求,至今仍是计算机科学领域的警示案例。

☢️ Therac-25放射治疗机在1985年因致命软件Bug引发了严重事故,至少导致三人死亡。该Bug源于软件中的竞态条件,使得患者接受了远超安全剂量的辐射。

⚙️ Therac-25的设计特点是采用纯软件控制,取消了早期机器中用于防止辐射事故的硬件联锁装置。当操作员快速输入指令以纠正模式选择错误时,软件的反应延迟会触发该竞态条件。

⚖️ 事故发生后,制造商AECL最初拒绝承认软件问题,但在美国FDA介入调查后,才开始进行彻底的整改。这起事件凸显了医疗设备软件的可靠性和安全性至关重要。

💡 Therac-25的悲剧促使业界对所有医疗软件的开发流程提出了更高要求,包括强制性的形式验证、严格的测试以及详尽的文档记录,以防止类似事故再次发生。

快科技9月22日的,软件Bug虽然会造成许多不便,但好在几乎不会致命,但在40年前的1985年,一款名为Therac-25的放射治疗机,就出现了通常被认为是世界上第一个致命的软件Bug。

这款机器因软件中的一个Bug引发了致命的竞态条件,导致至少六人遭受了辐射剂量高达正常值100倍的照射,其中三人因此丧生。

Therac-25刚推出时,因其将两种治疗模式集于一身而备受医疗机构青睐,它既能用于电子束疗法治疗浅层组织问题,如皮肤癌;也能用高电流电子束进行兆伏X射线疗法,针对深层组织问题,然而这两种模式一旦混淆,后果不堪设想。

该机器的一个创新之处在于采用纯软件控制,而早期机器则有电磁机械硬件联锁装置来防止此类辐射事故,例如Therac-20虽与Therac-25有共同的Bug,但其硬件会在软件故障时阻止不安全操作。

据加州公立大学计算机科学硕士生安妮·玛丽·波雷洛发表的论文,这一致命漏洞在六起已知事故中均有体现。

通常情况下操作员误选了错误的模式后迅速试图纠正,经验丰富的操作员修改治疗参数速度过快,从而导致Bug的出现。

关键在于,Therac-25改变辐射束模式需要约8秒,而操作员在这一时间窗口内的快速输入会混淆软件。

首起事故发生在1985年6月,最后一起在1987年1月,制造商AECL最初拒绝承认系统存在过错,直到1986年春才开始彻底调查,此时美国FDA也已介入。

Therac-25的悲剧引发了对所有医疗软件进行形式验证、严格测试和改善文档的呼声,如今它已成为计算机科学领域常被提及的警示案例。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Therac-25 软件Bug 致命Bug 医疗安全 竞态条件 放射治疗 计算机科学警示 Therac-25 Software Bug Fatal Bug Medical Safety Race Condition Radiation Therapy Computer Science Cautionary Tale
相关文章