40年前的全球首個致命軟體Bug:至少三人因100倍強輻射身亡

神马作文网 教育资讯 11

快科技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的悲劇引發了對所有醫療軟體進行形式驗證、嚴格測試和改善文檔的呼聲,如今它已成為計算機科學領域常被提及的警示案例。


抱歉,评论功能暂时关闭!