軟件Bug引發的十次嚴重后果
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
2009年2月份Google的Gmail故障,應該算是最近因軟件故障而受到廣泛關注的事件。據Google后稱,那次故障是因數據中心之間的負載均衡軟件的Bug引發的。
Gmail故障還僅是導致用戶幾個小時內無法訪問郵箱,并沒有造成傷亡。當然了,對某些用戶來講,是非常不便。 但看了伯樂在線-職場博客的這篇文章后,您會發現,Gmail的故障問題真是"小巫見大巫"了。 一觸即發的第三次世界大戰 1980年,北美防空聯合司令部曾報告稱美國遭受導彈襲擊。后來證實,這是反饋系統的電路故障問題,但反饋系統軟件沒有考慮故障問題引發的誤報。 1983年,蘇聯衛星報告有美國導彈入侵,但主管官員的直覺告訴他這是誤報。后來事實證明的確是誤報。 幸虧這些誤報沒有激活"核按鈕"。在上述兩個案例中,如果對方真的發起反擊,核戰爭將全面爆發,后果不堪設想。 圖1:游戲模擬圖 "漏網"的臭氧層空洞 南極洲上方的臭氧層空洞一直存在但長期未被發現,這是為什么? 1978年,NASA啟動臭氧層測繪的計劃。在設計之時,用于該計劃的數據分析軟件忽略了和預測值有很大差距的數據。直到1985年,才發現南極洲上方的臭氧層空洞,但不是NASA發現的(是英國科學家先發現的)。直到NASA重新檢測它們的數據,才發現這一錯誤。在修正錯誤后,NASA證實南極臭氧層的確有個很大的空洞。 圖2:2010年7月19日 臭氧層"CT照片" 致命的輻射治療 1985到1987年,Therac-25輻射治療設備卷入多宗因輻射劑量嚴重超標引發的醫療事故,其罪魁禍首是醫療設備電力軟件的Bug。據統計,大量患者接受高達100倍的預定劑量(治療),其中至少3人直接死于輻射劑量超標。 另一宗輻射劑量超標的事故發生在2000年的巴拿馬城(巴拿馬首都)。從美國Multidata公司引入的治療規劃軟件,其(輻射劑量的)預設值有誤。有些患者接受了超標劑量的治療,至少有5人死亡。后續幾年中,又有21人死亡,但很難確定這21人中到底有多少人是死于本身的癌癥,還是輻射治療劑量超標引發的不良后果。 阿麗亞娜5型火箭的杯具處/女秀 1996年6月4日,阿麗亞娜5型運載火箭的首航,原計劃將運送4顆太陽風觀察衛星到預定軌道,但因軟件引發的問題導致火箭在發射39秒后偏軌,從而激活了火箭的自我摧毀裝置。阿麗亞娜5型火箭和其他衛星在瞬間灰飛煙滅。(見圖3) 后來查明的事故原因是:代碼重用。阿5型的發射系統代碼直接重用了阿4型的相應代碼,而阿4型的飛行條件和阿5型的飛行條件截然不同。此次事故損失3.7億美元。 圖3: 阿麗亞娜5型火箭爆炸瞬間 有興趣的朋友可以詳見《阿麗亞娜5型火箭發射失敗的調查報告》。 飛行事故 1994年在蘇格蘭,一架吉努克型直升飛機墜毀,29名乘客全部罹難。然而最初指責聲都指向飛行員,但后來有證據表明,直升飛機的系統錯誤才是罪魁禍首。 另外一次因軟件而引發的飛行事故發生在1993年。瑞典的一架JAS 39鷹獅戰斗機因飛行控制軟件的Bug而墜毀。 消失在太空 在制造其火星氣候軌道探測器時,一個NASA的工程小組使用的是英制單位,而不是預定的公制單位。這會造成探測器的推進器無法正常運作。正是因為這個Bug,1999年探測器從距離火星表面130英尺的高度垂直墜毀。此項工程成本耗費3.27億美元,這還不包括損失的時間(該探測器從發射到抵達火星將近一年時間。) 圖5:火星氣候軌道探測器 太空中看到的爆炸 據傳,在冷戰時期,CIA曾成功向前蘇聯"輸出"一個有設計缺陷的控制軟件,該軟件用來控制天然氣主管道。(KGB從一家加拿大公司竊取該軟件。)那個植入的Bug最終引發了1982年的西伯利亞天然氣管道大爆炸。 CIA前高/官里德回憶道:"那次爆炸的結果是非常驚人的,它是除了核爆炸之外最壯觀的爆炸之一,騰起的熊熊大火甚至從太空中都能看到,并已被衛星拍攝了下來。" 雖然這個例子是有意而為之的,但其足以證明軟件缺陷可以引發的致命后果。 仔細測試:不僅能省錢,更能救人 雖然本文中提到了10個例子,但這只是冰山一角。全球每年因軟件缺陷引發的問題數不勝數。 軟件缺陷的代價極其昂貴。2002年,美國國家標準與技術研究所的一項研究表明,軟件缺陷給美國每年造成的損失高達595億美元。想想全球這個數額會是多大。那項研究還證實:超過1/3的損失——高達222億美元,原本稍加測試,即可避免。 后記 有些缺陷或許只會引發小毛病,但飛行控制系統軟件和醫療設備軟件,還有其他和人命相關的軟件,絕不應該出現因程序問題,而給民眾生命財產帶來無端災難。 該文章在 2011/3/14 16:53:18 編輯過 |
關鍵字查詢
相關文章
正在查詢... |