1. 程式人生 > 資訊 >軟體出現 Bug 到底有多嚴重,一份清單告訴你:致 6 人死亡,甚至差點毀滅世界

軟體出現 Bug 到底有多嚴重,一份清單告訴你:致 6 人死亡,甚至差點毀滅世界

一個 Bug 就地蒸發 5 億美元;

軟體設計層面出 Bug 致 6 人死亡;

DeBug 不成功直接世界毀滅。

你職業生涯中寫過最大的 Bug 是什麼?

在這個問題上,勇敢的碼農們,總是能不斷地創造奇蹟。

Bug 很大,你忍一下

一個 Bug 到底能有多大?

幾個歷史資料轉儲邏輯 Bug 或發貨邏輯 Bug,就能讓幾十萬輕鬆蒸發:

你們這虧錢的 Bug 都灑灑水啦,寫 Bug 差點進去的見過沒?

馬上就有碼農站出來表示不服,並表示自己參與開發的一款發薪軟體曾出現 Bug,會導致發放的薪資變成雙倍,總共能多發 2000 多萬。

當時查出 Bug 的時候發薪單已經生成,就差批量任務向銀行發起請求了!

奇怪的勝負心就這麼燃起來了。

一時間,什麼水閘關不住、高鐵追尾、甚至差點導致非洲國家內戰的 Bug 都來了。

如果再放眼全球,你就會發現 ——Bug 沒有最大,只有更大。

2016 年時,Excel 就出過一個致使上萬份遺傳基因學論文出錯的 Bug

很多長得像日期表達的長基因名的縮寫(比如 SEPT2、MARCH1),會在這一 Bug 的作用下被 Excel 自動轉化成日期格式:

學術領域之外的 Bug 那就更牛逼了。

比如在 1996 年,歐洲運載火箭 Ariane 5 在發射 37 秒後當場爆炸。

一瞬間,70 億美元的開發費用成了煙花,5 億美元的裝置原地蒸發。

這一切都由一個整數溢位(Integer Overflow)的 Bug 引起

而如果翻開維基百科上的這份專門統計歷史上造成嚴重後果的 Bug 清單,沿著 12 個類別一個一個找下去,就會發現 ——

幾乎每一條 Bug 的背後都存在著千萬上億的金錢損失。

有時,甚至會帶來意外死亡。

1985 年到 1987 年間,由加拿大 AECL 公司開發的 Therac-25 放射線療法機器在軟體互鎖機制上出現了 Bug,從而使輻射能量變成了正常劑量的 100 倍:

最終,至少有 6 名來自美國和加拿大地區的患者由於遭受過量輻射而意外死亡

還有差點引發全球核戰爭的 Bug:1983 年蘇聯核警報誤報事件

▲蘇聯軍官 Stanislav Yevgrafovich Petrov

在那一年的 9 月 26 日,蘇聯的雷達監測到了 5 枚自美軍基地發射而來的導彈。

而上圖的這位蘇聯軍官權衡再三,最終將這一導彈攻擊警告判斷為誤報,並沒有按照規定向上級彙報並申請反擊。

事實證明,這次 DeBug 成功避免了地球 Online 在 1983 年就發生重啟。

“不是 Bug 是特性”

看完了上面那些驚天大活兒,瞬間覺得郵件/簡訊連環 CALL 這種 Bug 都溫柔了許多。

像這種由於抽獎程式 Bug 導致的社死,好像也不是個事兒了:

而影響力又大,又沒有造成嚴重損失,甚至讓使用者拍手叫好的 Bug 也不是沒有。

比如一到遊戲圈,Bug 就會自動改名為特性。

▲原神魚竿 Bug

某些知名遊戲大廠甚至還會聯名釋出 Bug 馬克杯,玩梗玩得飛起。

還有玩家真情實感地表示:Bug 正是遊戲複雜規則和互動的體現,我遊 YYDS!

▲《矮人要塞》貓咪離奇死亡事件

軟體 Bug 清單:

https://en.wikipedia.org/wiki/List_of_software_Bugs