第1章 0.000000095的誤差奪走28條生命 1
飛嚮美空軍基地的“飛毛腿”導彈 1
“愛國者”導彈係統結構 3
導彈與軟件的對決 4
美軍的應對 6
“愛國者”注定這天要齣事 7
第2章 遙遠的火星探測之路:
軟件錯誤導緻兩架探測器成為火星塵埃 11
太空探測的“文藝復興” 11
蘇聯:邁齣火星探測第一步 11
美國:火星探測首次成功 14
第一架火星著陸器 15
火星探測的主力軍——美國 18
火星探測重新升溫 18
NASA的火星探測計劃 19
MCO嘗試進入軌道 20
MCO通信中斷 21
氣動減速 22
單位標記不一緻導緻的悲劇 23
另一颱探測器:MPL 26
雖然已進入火星大氣層,但是…… 26
MCO與MPL留下的教訓 27
第3章 “ 喂?喂?”一行代碼導緻的AT&T 長途電話係統癱瘓事件 29
AT&T的曆史 29
值得信賴的AT&T長途網絡 31
齣現網絡故障 33
問題的起因在於一行錯誤代碼 35
電話事故之後 35
第4章 軟件錯誤帶來的黑暗:2003 年美國東北部大停電 39
韓國9·15停電事故 39
2003年美國東北部大停電 41
災難開始 42
接連跳閘 46
最後的堡壘——Sammis-Star 345韆伏輸電綫 48
臨界點 51
iPad 上市當天排起的長隊 53
為什麼沒有處理預警? 56
第5章 不滅的“約剋城”號 59
約剋城 59
太平洋戰爭和“約剋城”號 59
軍費縮減計劃示範艦 67
光榮的硬件,不爭氣的軟件 68
第6章 因特網蠕蟲病毒的開始——莫裏斯蠕蟲 71
互聯網的特性 71
具備攻擊與防禦能力的軟件 72
軟件漏洞:蠕蟲病毒齣現 72
和蠕蟲的鬥爭 74
“大蟲”後續 76
莫裏斯事件逸聞 77
第7章 軟件也能使戰機墜毀 79
瑞典JAS 39“鷹獅”戰鬥機墜毀事故 80
“鷹獅”試飛機墜毀 80
再次墜毀 81
原因在於軟件 83
航空器中軟件的作用日益突齣 84
第8章 70億美元的煙花秀:
阿麗亞娜5號運載火箭航班501 87
蓬勃發展的商業化航天技術 87
阿麗亞娜5號火箭的研發 88
阿麗亞娜5號運載火箭航班501 89
事故還原 89
結論 97
第9章 軟件可用性的錯誤設計:“文森斯”號事件 101
戰火從陸地蔓延到海麵 103
關係日益緊張的美國和伊朗 106
失誤和誤判,命運的交響麯 108
射嚮伊朗航空655次航班的導彈 114
飛機被擊落之後 114
第10章 計算機難以理解的人類的時間計算 115
閏年 115
微軟的野心之作與閏年Bug 116
讓全世界遊戲玩傢備受煎熬的PS3閏年Bug 118
醫院係統故障,紙筆代替電腦 119
罷工的導航儀 120
日常生活中的Y2K Bug 121
第11章 遊戲Bug 125
生活中的電腦遊戲 125
各種遊戲Bug 125
《星戰前夜》 128
《魔獸世界》 129
第12章 核武禁果 133
飛嚮蘇聯上空的核導彈 134
佩特羅夫的判斷 135
佩特羅夫判斷之後 137
北美防空聯閤司令部:NORAD 137
淩晨3 點鍾的電話 139
第13章 醫療儀器軟件殺人:Therac-25 醫療事故 141
與日俱增的癌癥患者與癌癥治療方法 141
放射治療 142
Therac-25的研發 143
1985年6月,Therac-25的第一位受害者 145
1985年7月,Therac-25的第二位受害者 146
1985年12月亞基馬榖紀念醫院,Therac-25的第三位受害者 148
1986年3月東得剋薩斯癌癥治療中心,Therac-25的第四位受害者 149
1986年4月東得剋薩斯癌癥治療中心,Therac-25的第五位受害者 153
1987年1月亞基馬榖紀念醫院,Therac-25的第六位受害者 155
事故原因1:軟件 156
事故原因2:用戶界麵 159
事故原因3:文檔 160
事故原因4:AECL對軟件的無知 160
軟件錯誤帶來的慘劇 161
第14章 因軟件錯誤而消失的火星探測器 169
“火星全球勘測者”號 169
“火星全球勘測者”號突然終止任務 171
軟件錯誤惹的禍 173
開啓火星探測機器人時代的“索傑納” 175
“勇氣”號:真正的火星探測機器人 178
“勇氣”號的第一次危機:齣現軟件錯誤 178
“勇氣”號的第二次危機:輪子齣現故障 180
最後的“勇氣”號 180
第15章 玩弄世界於股掌之間的金融軟件Bug 183
溫哥華證券交易所事件 183
四捨五入惹的禍 184
澳大利亞昆士蘭州銀行卡終端機故障 185
導緻公司破産的軟件Bug 187
第16章 軟件本可以阻止的飛行事故:
大韓航空801次航班和美國航空965次航班空難 191
關島慘案:大韓航空801次航班 191
墜毀前的記錄 192
本可以阻止的事故 195
假如軟件發揮瞭應有的作用 196
美國航空965次航班 198
開始齣錯 201
“我們現在在哪?” 206
部分責任在於軟件 208
第17章 153億美元的彩票:數字預算會計係統 211
徘徊在地獄和天堂之間的政府 211
數字預算會計係統的開發 211
“較差”的項目 212
無視審計結果並強行運行係統 213
意料之中的漏洞 213
終於釀成大錯 214
復閤型人纔的重要性凸顯 214
第18章 豐田汽車“踏闆門”事件與軟件 217
“刹車失靈瞭” 218
豐田召迴危機 219
豐田軟件檢測 223
ECU軟件有可能導緻汽車突然加速 224
Bug百齣的豐田軟件 226
Barr Group報告和豐田的低頭認錯並無直接關係 227
寫給軟件開發者的後記:為瞭開發無Bug軟件 229
最早的Bug 229
軟件的原罪:Bug 229
軟件開發過程 231
軟件Bug的成本 231
編碼規範 232
靜態代碼分析 234
· · · · · · (
收起)