致命Bug:软件缺陷的灾难与启示
3推荐 收藏
5.5K阅读
图灵计算机科学丛书

致命Bug:软件缺陷的灾难与启示

金钟河 (作者) 叶蕾蕾 (译者)
第16章开放阅读 ↓ 情节扣人心弦,相当精彩,快来戳!
纵观历史上出现过的重大系统事故,可以说不外乎都是嵌入式软件错误导致的。这是毋庸置疑的事实。本书涵盖了汽车、金融、国防、航空、宇宙科学等领域,向我们展示了软件错误是如何引发这些危险事故的,同时又带来了怎样的影响。借助图片,读者可以更好地理解书中内容。本书反复强调了软件错误带来的严重后果,对于从事或研究嵌入式软件的人员来说,这是一本极其珍贵的必读书。向各位郑重推荐。
——尹希炳 / 韩国国防大学国防科学系前教授、高丽大学信息学院计算机系客座教授
目前发表的软件相关随笔基本都围绕着积极的一面,因为人们对那些优秀的、完美的软件抱有期待。但本书主要讲述的却是错误、失败,以及隐藏在这些事件背后的故事。软件的错误和出错原因(听起来好像不算什么!)都写得饶有趣味,通俗易懂。特别推荐那些有志于提高软件产品安全性的开发人员阅读此书。
——朴载浩 / innods理事、《软件随想录》韩文版译者、
运营博客“计算机与书”(http://jhrogue.blogspot.kr/)

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

出版信息

  • 书  名致命Bug:软件缺陷的灾难与启示
  • 系列书名图灵计算机科学丛书
  • 执行编辑关于本书的内容有任何问题,请联系 陈曦
  • 出版日期2016-01-04
  • 书  号978-7-115-41182-2
  • 定  价39.00 元
  • 页  数252
  • 印刷方式黑白
  • 开  本16开
  • 出版状态终止销售
  • 原书名역사 속의 소프트웨어 오류
  • 原书号9788960775725

所属分类

同系列书

本书特色

迄今为止,软件故障直接或间接导致的事故已经造成了大量伤亡。本书通过历史上的小故事,介绍了软件故障引发的宇宙、航空、军事、通信、金融、医疗、生活等多领域的事故。即使不具备软件相关的专业知识,平时关注历史事件或热点话题的普通人也能受益匪浅。尤其是希望编写无Bug软件的开发人员或测试人员、经营软件公司的管理人员或高层人士等,更能从本书中获得丰富感受

目录

自 序 阅读
前 言 阅读
第1章 0.000000095的误差夺走28条生命
第2章 遥远的火星探测之路
第3章 “ 喂?喂?”一行代码导致的AT&T 长途电话系统瘫痪事件
第4章 软件错误带来的黑暗:2003 年美国东北部大停电 
第5章 不灭的“约克城”号
第6章 因特网蠕虫病毒的开始——莫里斯蠕虫
第7章 软件也能使战机坠毁
第8章 70亿美元的烟花秀
第9章 软件可用性的错误设计:“文森斯”号事件
第10章 计算机难以理解的人类的时间计算
第11章 游戏Bug
第12章 核武禁果
第13章 医疗仪器软件杀人:Therac-25 医疗事故
第14章 因软件错误而消失的火星探测器
第15章 玩弄世界于股掌之间的金融软件Bug
第16章 软件本可以阻止的飞行事故:大韩航空801次航班和美国航空965次航班空难 阅读
第17章 153亿美元的彩票:数字预算会计系统
第18章 丰田汽车“踏板门”事件与软件

作者介绍

热衷于编写稳定代码,喜爱软件测试,取得ISTQB测试资格证,曾为软件测试工程师。现就职于开发静态代码分析工具的Fasoo.com,管理软件相关博客(http://story.wisedog.net),主要写作软件静态代码分析及编码标准、无BUG代码、各种编程的相关文章。

大家也喜欢

  • 未来的截面

    李在永   武传海   译

    本书讲解了改变未来的7种IT技术的科学原理:比特币的核心算法、可穿戴设备的电池技术、众说纷纭的虚拟现实的局限、...

  • 走近2050:注意力、互联网与人工智能

    随着人工智能程序AlphaGo以4:1的大比分战胜人类围棋世界冠军李世石,机器将征服人类的担忧正在甚嚣尘上。《...

  • 日本电子产业兴衰录

    西村吉雄   侯秀娟   译

    近十年来,曾经如日中天的日本电子产业一路溃败,其中原因何在?本书作者基于详实的统计资料,回顾了日本电子产业几十...

  • 身边的未来

    李焌桢   崔航旗   译

    飞速发展的新技术为我们描绘的可预见的未来,本书介绍了包括人工智能、3D打印、信息通信、生命科学等诸多领域在内的...

  • 科学的极致:漫谈人工智能

    内容简介: 本书由集智俱乐部成员共同创作而成,全面介绍了人工智能的历史及其在各个领域的发展及应用。不仅涵...

相关文章

  • 苍松 4推荐

    《致命Bug:软件缺陷的灾难与启示》读后感受

      如题,这篇文章是看完了《致命Bug:软件缺陷的灾难与启示》这本书并且回顾了每一章以后才写的。这本书的整体脉络是这样的:      这本书的标题和小标题都算是引人入胜的,软件的故障已经在各行各业中有了影响,人非圣贤,孰能无过,计算机呢,计算机也不是完全不出错的,计算… ...

  • descent 5推荐

    致命Bug:软件缺陷的灾难与启示

    這是一本在講軟體 bug 小故事的書, 和我平常在讀的電腦技術書籍比起來, 非常容易讀, 也很有趣, 讓我知道了不少事情, 有些事應該是需要被報導出來的, 可是我完全沒印象有聽過這些報導, 我對自己的孤陋寡聞感到哀傷。可惜這本書沒有電子版, 這是本很適合用電子閱讀器讀的書。 …...

  • 這是一本在講軟體 bug 小故事的書, 和我平常在讀的電腦技術書籍比起來, 非常容易讀, 也很有趣, 讓我知道了不少事情, 有些事應該是需要被報導出來的, 可是我完全沒印象有聽過這些報導, 我對自己的孤陋寡聞感到哀傷。可惜這本書沒有電子版, 這是本很適合用電子閱讀器讀的書。

    本書寫的淺顯、易懂、好讀, 就算不是相關的軟體專業人員, 也可以當作是一篇篇的故事來讀, 精彩度絲毫不遜於小說。

    本書的原文是韓文, 這是翻譯重要的一種表現, 我相信有人英文一定很好, 看原文書沒問題, 但在這些人當中韓文也好的那可能就很少了。在我購買的書籍中, 有日文、韓文、英文這些翻譯本, 但事實上還會有德文、法文、俄文等的翻譯本, 不太可能把這些語言都學過一遍的。

    翻譯工業應該要由政府來當領頭羊, 將整個人民的眼界帶到全世界才是, 人們眼界開了, 國家就會更進步才是, 因為語言隔閡而不能大開眼界, 真是太冤枉了, 要求每個人外文學的好的難度大於將翻譯工業好好的建構起來。

    軟體在一般人的印象是不是網頁, 手機上的 app, 還有 windows 上的那些軟體、遊戲呢? 這本書提到的都是讓人很難想到的領域軟體, 書上有幾個很深刻的軟體 bug 想和大家聊聊。

    chapter 4 在講停電的故事, 因為軟體的原因, 導致電力負荷不過來時, 接應的系統沒來幫忙, 就這樣, 像水管承受不了水壓而爆開, 電力系統最終癱瘓。

    chapter 5 的約克城號是艘戰艦, 使用的是 ms windows 4.0, 它有一天突然不動了, 就這樣靜靜地停在海上, 任由海洋帶領, 漂浮了 2 小時 45 分鐘, 軟體的錯誤是 divided by zero。

    chapter 9 的美國的文森號戰艦, 它擊落了伊朗航空 655 民航機, 因為文森號戰艦把他當成了伊朗的 F-14 戰鬥機, 至於為什麼伊朗會有美國的 F-14 那是另外一個值得探究的問題。

    美軍當然不是傻蛋, 怎麼會搞不清楚是戰鬥機還是民航機呢? 但是可遇而不可求的巧合還是讓這場悲劇發生了, 總共要符合以下條件:
    文森號戰艦使用軍用無線電頻率警告對方, 對方是民航機, 收不到的。
    文森號戰艦後在使用國際救援無線電頻率警告對方, 但對方可能沒收到, 因為沒找到黑盒子, 無法確認。
    文森號戰艦查詢了民用客機的起飛時間, 可惜 655 民航機延遲 27 分鐘才起飛, 所以美軍不認為那個時間點有民航機。而文森號戰艦使用了 GMT+4 的時間, 但航班時間是 GMT+3.5, 更讓事情變得棘手。
    再來是雷達掃描系統, 655 民航機的識別代碼是 3, 但是掃到的代碼是 2 (軍用機), 不是軟體出問題, 而是掃錯區域, 本來應該掃民用機場的方向結果掃到軍用機場。
    最後, 終於來到最後, 研判系統出錯, 655 民航機在明明是在升高, 但文森號戰艦的軟體系統使得軍方人員研判 655 民航機在下降。
    就是這以上幾點造成了這個悲劇, 但美國死不認錯也令人不齒, 不過有賠錢, 但強國就可以這樣鴨霸嗎?

    但我覺得作者把這件事情也規到軟體 bug 倒是有點牽強了, UI 的結果不好研判或是警示系統不周全說是 bug 我實在不能接受。

    chapter 12 的核子武器系統 bug, 知道的人應該都會覺得現在還有個好的地球可生存, 都會為此心存感謝。

    美國/蘇聯的偵測系統會互相偵測核彈, 當對方發射過來時, 我方就反擊, 但如果誤判了呢? 對方明明沒有發射核彈, 但警示系統確認為有呢? 你會怎麼辦呢?

    這樣的 bug 還一邊發生一次, 有夠公平。還好這些人果真都是菁英份子, 最後什麼都沒發生, 感謝這些研判正確的軍方人員。

    chapter 13 的癌症治療系統, 這個很嚴重, 讓治療的病人接受了高於需要的放射線照射, 這是加拿大的 AECL Therac-25, 本來需要的能量是 200 rad, 但病人卻接收了 15000 ~ 20000 rad 的照射, 在怎麼沒概念的人也知道這差太多了, 造成許多人死亡。

    這個軟體問題是算術溢出, 8 bit 整數, 只能存放 0 ~ 255, 超過就會繞回, 就是這問題倒置整個劑量數值出錯。

    chapter 18 豐田暴衝, 原來日本人也是會騙人的, 和福斯的造假測試一樣, 令我驚訝, 原來德國人也是會騙人的, 他們把自己好不容易打造的形象搞砸了。

    談軟體部份, 當機械結構改成電子加上軟體之後才發生這樣的事情, 有個 Barr Group 對豐田的軟體分析, 發現在某些情形下, 某些 reltime os tast 不會去執行該做的工作, 造成這樣的原因是, stack overflow, 而其程式有 11000 全域變數也令人驚訝, 日本人的軟體好像也不怎麼高竿是吧!
    descent  发表于 2016-12-09 10:23:33
    推荐
  • 每本书下必有的问题:会出电子版吗?
    假药郎中  发表于 2016-01-11 17:02:44
    推荐
    • 每本书后必回的答复:暂时不会= =|||

      陈曦  发表于 2016-01-11 17:16:10
  • 没电子版可惜
    Taipa  发表于 2016-02-29 09:29:30
    推荐