盤點史上最具毀滅性的軟件Bug

>>>  創業先鋒 眾人拾柴火焰高  >>> 簡體     傳統


摘要:軟件Bug對我們的生活、工作都會帶來很多毀滅性的破壞。據悉,每年軟件Bug會讓美國經濟帶來近600億美元的損失。本文會按時間順序,盤點史上最具毀滅性的19個軟件Bug。

據悉,每年軟件Bug會讓美國經濟損失近600億美元。我們都知道,軟件Bug是很煩人的,會給我們的工作、生活帶來很多毀滅性的影響。現在,就讓我們按時間順序來盤點下史上最具毀滅性的19個軟件Bug。


1. 1962年的Mariner Bug


損失:1850萬美元

經過:Mariner 1航空軟件漏洞直接導致火箭在發射不久后就偏離了其預期運行軌道,任務控制中心在其發射293秒后就摧毀了火箭。

原因:一名程序員錯誤地將公式錄入到計算機代碼中,直接導致計算機錯誤的計算了火箭的運行軌道。


2. 1978年哈德福特市競技場塌陷

損失:7000萬美元,外加給當地經濟帶來近2000萬美元的損失

經過:在幾千名球迷離開哈德福特市的競技場后,由于濕雪等原因造成鋼架結構的競技場屋頂倒塌。

原因:由于CAD軟件程序員習慣性地認為鋼架結構屋頂的支撐僅承受純壓力,所以當其中的某個支撐點因大雪垮塌后,引起了連鎖反應,導致屋頂的其他部分相繼倒塌。


3. 1982年蘇聯的石油管道事件

損失:給蘇聯經濟造成了重大的損失


經過:控制軟件出了故障,導致西伯利亞輸氣管道產生巨大壓力,成為歷史上最大的人為非原子核破壞事件。


經過:根據CIA(美國中央情報局)陳述,為其工作的間諜在蘇聯購買了用于控制跨西伯利亞管道的加拿大計算機系統并在其中植入了一個Bug。據說CIA發現了這個存在Bug的程序,決定通過對蘇聯人的設備做破壞,使得該設備運行起來將會失敗。


4. 1983年差點發生的第三次世界大戰

損失:差一點影響到了全世界的人

經過:早期,蘇聯政府的報警系統錯誤的報出美國發射了五枚彈道導彈,幸運的是蘇聯值勤員推斷如果真的是美國政府襲擊他們的話,發射的導彈肯定不止5枚,所以他推斷這是一場虛驚。

原因:蘇聯軟件的一個Bug,因陽光反射云頂,給出了錯誤的報警信息。


5. 1985年Therac-25醫療加速器事件


損失:死亡3人,嚴重受傷3人


經過:加拿大的Therac-25放射機發生故障,導致病人受到大量的輻射。


原因:Therac-25是建立在一款沒有經過正規培訓的程序員開發的操作系統上,由于這款不易被察覺的“Race Condition”的Bug,一名技術員可能在病人沒有進行任何防護的情況下,意外地將Therac-25配置為高能模式。


6.1987年華爾街股市崩盤


損失:1天就損失5000億美元

經過:在“黑色星期一”(1987年10月19日)當天,道瓊斯指數一天之內重挫508.32點,跌幅達22.6%,創下歷史上單日最大的百分比跌幅,引發金融市場恐慌。

原因:很多人認為這場股災是因程式交易引起的,程式交易生成大量的銷售訂單,造成系統崩潰,導致大多數的投資者盲目的跟從。股災后很多人說電腦程式看到股價下挫,便按早就在程式中設定的機制加入拋售股票,形成惡性循環,令股價加速下挫。

7. 1990年AT&T電話斷網

損失:造成7500萬的電話通話中斷,20萬張機票沒法按時預定

經過:在一次復雜的、用于加速呼叫的軟件升級里面的一小行錯誤代碼引起了連鎖反應,使整個網絡都癱瘓了。

原因:軟件升級中出行了一個有Bug的代碼,導致114臺交換機每六秒當機重啟一次,所有長途電話服務暫停9個小時。

8. 1991年海灣戰爭

損失:28名士兵死亡,100人受傷

經過:第一次海灣戰爭期間,在沙特阿拉伯的美國愛國者導彈系統沒能攔截住飛入伊拉克境內的飛毛腿導彈,導致該導彈毀掉了美國的一個軍營。

原因:由于當時軟件的舍入錯誤,造成愛國者系統沒能及時發現飛毛腿導彈,造成破壞。

9. 1993年--Intel奔騰浮點指數除法事件

損失:造成4.75億美元的損失

經過:一個硅片上的錯誤導致Intel高性能奔騰芯片在一段范圍內計算浮點指數除法時發生錯誤。例如4195835.0/3145727.0產生的是1.33374而不是1.33382,產生了0.006偏差。

原因: 奔騰浮點單元的除法器有一個有缺陷的除法表,丟失了1000項記錄中的5項,導致取整錯誤。

10. 1996年Ariane火箭爆炸


損失:5億美元


經過:Ariane 5是歐洲最新的無人駕駛火箭,在處女航開啟數秒后被人為摧毀,同時被摧毀的還包括4顆衛星。


原因:Ariane 4火箭的工作代碼在Ariane 5中被重新使用,但是Ariane 5更高速的運算引擎在火箭航天計算機中的算法程序中觸發了Bug。最終導致了航天計算機的崩潰。


11. 1998年火星氣候探測器墜毀

損失:1.25億美元


經過:離開地球286天后,火星氣候探測器點燃了自身的引擎以進入火星軌道,結果在進入軌道的過程中失去了聯系,導致其墜毀在火星上。


原因:火星氣候探測者號任務失敗的主要原因是人為因素,因為火星氣候探測者號上的飛行系統軟件使用公制單位牛頓計算推進器動力,而地面人員輸入的方向校正量和推進器參數則使用英制單位磅力,導致探測器進入大氣層的高度有誤。

12:1999年的災難性研究


損失:信譽

原因:在這種諷刺的情況下,軟件經常被用來分析未知的災難,卻沒能夠算出自己的災難。《新英格蘭醫學雜志》報道,在嚴重的自然災害之后,自殺率也急劇增長。不幸的是,這些結果被證實有誤。

原因:由于編程錯誤等原因,導致自殺數字翻番,這就足夠拋棄整個研究了。

13. 1999年英國護照不知去向

損失:1260萬英鎊的損失,造成大量的不便

經過:英國護照簽發機構使用了一項新的西門子計算機系統,結果沒能及時解決英國居民的護照問題。最后,該機構不得不支付數百萬英鎊賠償給那些加班的員工以及為冒雨等待護照的居民提供雨傘。

原因:該簽發機構使用了新的計算機系統,但在這之前,沒有做任何的測試或訓練員工。同時,法律也做出相關規定,要求16周歲以下的兒童也需要護照才能出國旅行,導致護照需求猛增,使這個新計算機系統不堪重負。

14. 1999年千年蟲Bug

損失:5000億


經過:一個人的災難造就了其他人的創富,用這句話來形容臭名昭著的千年蟲Bug再合適不過了。公司提供數十億資金給給程序員,讓他們來解決遺產軟件中的小問題。雖然沒有發生任何電腦故障,但是千年蟲漏洞對所有涉及計算機行業的產品都造成了一定的影響。

原因:為了節省計算機的存儲空間,遺產軟件經常將存儲日期用兩位阿拉伯數字表示,即用“99”來表示“1999”,還用“00”來代替“1900”而不是2000,所以到2000年的時候,軟件漏洞就表現出來了。

15. 2000年泡沫經濟破裂


損失:5萬億美元損失,成千家公司倒閉

經過:1995—2001年投機泡沫期間,促進了風險投資和互聯網技術板塊的股票市值迅速增長。互聯網泡沫經濟在2000年初開始破裂,損失了幾萬億美元的股票市場價值,成千上百的公司倒閉,并引發全球經濟衰退。

原因:公司和投資者沒有指定標準的商業模型,并以犧牲利益為代價,過分關注增加市場占有率。

16. 2000年愛蟲病毒


損失:87.5億美元,上百萬計算機被感染,重要數據丟失。

經過:該病毒感染了數百萬臺計算機,造成史上最大的損失,該病毒會刪除文件,更改主頁并打亂注冊表。

原因:愛蟲病毒通過電子郵件、互聯網聊天以及共享文件系統等渠道感染用戶的計算機。電子郵件有一個可執行的附件和一個名為“我愛你”的主題行。用戶打開附件時,病毒就會感染用戶計算機并發送給地址薄上的其他人。

17. 2000年,癌癥治療導致死亡


損失:8人死亡,20人嚴重受傷


經過:美國一家名為Multidata Systems International的公司,錯誤的計算了放射治療中的輻射量,導致28位病人接受了過量的伽瑪輻射。


原因:軟件按照數據輸入的順序來計算輻射的計量,有時會帶來雙倍的輻射量。


18. EDS放棄了對兒童的支持


損失:5.39億英鎊

經過:商業服務巨頭EDS為英國兒童撫養機構開發了一個計算機系統,導致該撫養機構給190萬人多付了款,少付款給70萬人,還有35億英鎊的兒童撫養費未收到款,積壓的待辦事宜達23.9萬件, 有3.6萬件新的案子“卡”在系統上,還有超過500條的錯誤記錄。


原因:EDS為CSA引入了一個復雜、大型的IT系統,還試圖對CSA進行重組。

19. 2000年FBI Trilogy的終結


損失:花費1.05億美元,尚無有效的檔案管理解決方案,虛擬個案檔案項目是一個集成的大型軟件系統。


經過:通過4年的努力,FBI放棄了對計算機系統進行改革。


原因:試圖用技術建立一個長期的項目,必須要在舊項目過期之前完成,否則新系統會無法使用。



CocoaChina 2015-08-23 08:43:57

[新一篇] 一個蘋果應用典型開發者的2014總結

[舊一篇] 程序員有哪些借口可以讓自己寫出低質量的代碼?看完深有感觸!
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表