《致命Bug 软件缺陷的灾难与启示》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(韩)金钟河著;叶蕾蕾译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115411822
  • 页数:234 页
图书介绍:迄今为止,软件故障直接或间接导致的事故已经造成了大量伤亡。本书通过历史上的小故事,介绍了软件故障引发的宇宙、航空、军事、通信、金融、医疗、生活等多领域的事故。即使不具备软件相关的专业知识,平时关注历史事件或热点话题的普通人也能享受趣味阅读。尤其是希望编写无Bug软件的开发人员或测试人员、经营软件公司的管理人员或高层人士等,更能从本书中获得丰富感受。

第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