標籤:
案例1:Ariane 5火箭
1996年6月4日,Ariane 5火箭在法屬圭亞那庫魯航天中心首次發射。火箭在發射37秒之後偏離其飛行路徑並突然發生爆炸,與Ariane5火箭一同化為灰燼的還有4顆太陽風觀察衛星。這是世界航天史上的一大悲劇,也是曆史上損失最慘重的軟體故障事件。
事後的調查顯示,控制慣性導航系統的電腦向控制引擎噴嘴的電腦發送了一個無效資料,其原因在於將一個64位浮點數轉換成16位有符號整數時產生了溢出。這個溢出值測量的是火箭的水平速率,開發人員在設計Ariane 4火箭的軟體時,認真分析了火箭的水平速率,確定其值絕不會超出一個16位的數。而Ariane 5火箭比Ariane 4的速度高出近5倍,顯然會超出一個16位元的範圍。不幸的是,開發人員在設計Ariane 5火箭時只是簡單地重用了這部分程式,並沒有檢查它所基於的假設。
案例2:Therac 25 放射治療儀
Therac 系列儀器是由加拿大原子能有限公司(AECL)和法國CGL公司聯合製造的一種醫用高能電子線性加速器,用來殺死病變組織癌細胞,同時使其對周圍健康組織影響儘可能降低,Therac 25屬於第三代醫用高能電子線性加速器。20世紀80年代中期,Therac 25放射治療儀在美國和加拿大發生了多次醫學事故,5名患者治療後死亡,其餘患者則受到了超劑量輻射而嚴重灼傷。
Therac 25放射治療儀的事故是由操作員失誤和軟體缺陷共同造成的。當操作員輸入錯誤而馬上糾正時,系統顯示錯誤資訊,操作員不得不重新啟動機器。在啟動機器時,電腦軟體並沒有切斷X光束,病人一直在治療台上接受著過量的X光照射,最終使輻射劑量達到飽和的25000拉德,而對人體而言,輻射劑量達到1000拉德就已經是致命的了。
案例3:東京證券證券交易所
2005年11月1日,日本東京證券證券交易所股票交易系統發生大規模系統故障,導致所有股票交易全面告停,短短2個小時造成了上千億元的損失。故障原因是當年10月為增強系統處理能力而更新的交易程存在缺陷,由於系統升級造成檔案不相容,從而影響交易系統的使用。
案例4:12306火車票網上訂票系統
國內12306鐵道部火車票網上訂票系統曆時兩年研發成功,耗資3億元人民幣,於2011年6月12日投入運行。2012年1月8日春運啟動,9日網網站擊量超過14億次,系統出現網站崩潰、登入緩慢、無法支付、扣錢不出票等嚴重問題。2012年9月20日,由於正處中秋和“十一”黃金周,網站日點擊量達到14.9億次,發售客票超過當年春運最高值,再次出現網路擁堵、重複排隊等現象。其故障的根本原因在於系統架構規劃以及客票發放機制存在缺陷,無法支援如此大並發量的交易。
軟體失效的典型案例