第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
      · · · · · ·     (
收起)