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