谈一谈软件BUG造成的严重危害


写下本文的原因是因为这是老师布置的一个作业,谈一谈自己在实际的软件开发过程中所遇到的、并对自己影响很大的bug。无奈的是,笔者是一个软件开发的初学者,接手过的项目实在有限,在自己编写的有限的代码中所遇到的bug多是由于粗心而引起的语法问题、符号问题、代码格式问题。这些虽然是小问题,但作为一个程序员,这些看似不起眼的“小问题”却可能引起程序不能运行,出错等一系列的“大问题”,所以作为初学者的我也要时刻提醒自己,不断检查,不断完善。在认识了bug的危害性之后,突然让我不禁想起一个有关bug造成恶劣影响的案例,借此机会让我再次回顾整个事件,其结果让人不寒而栗,同时也更加加深了我对debug的重视。

这是一件由BUG引发的医疗安全事故,事件发生在2000年11月的巴拿马市国家肿瘤中心,一家美国公司—Multidata Systems International所开发的治疗软件错误的计算了对于正处于放射治疗中的病人所应该使用的合适剂量。Multidata的软件允许放射治疗师利用计算机屏幕的一个叫做"blocks"的金属装置来保护健康组织以免受射线的伤害。但是该软件仅仅允许治疗师使用4个屏蔽块,但是巴拿马的医生希望用5块来保护。医生发现他们可以通过将所有的屏蔽块画成一个在中间有孔的大块来欺骗该软件。然而医生们没有意识到的是Multidata软件在这种配置中根据该空画法的不同给出了不同的答案:如果该孔是在一个方向绘制的,则给出正确的计算出的剂量,如果是在另外不同的方向绘制的,软件就会推荐出要比必须需要暴露的射线的两倍剂量。至少有8个病人在这次事故中丧生,同时接受了过多剂量放射的20个病人产生了严重的健康问题。被要求手动两次检查计算机的计算的医生被以谋杀罪起诉。

回顾整个事件,我们可以清楚地看到这次由软件漏洞和操作人员的疏忽而导致的结果是惨烈的,医疗安全是关乎人们生命的事情,这其中的任何错误都有可能会引起无法挽回的灾难。在科技迅猛发展的今天,我们更加应该对此进行反思,作为程序员更要在心底里重视bug的危害。诚然,在实际的代码编写过程中,bug不可避免,但是我们一定要经过缜密和科学的测试手段,尽量减少bug的产生和危害,将损失降到最低。Debug,就行从做现在做起吧~~ 优质内容筛选与推荐>>
1、新的Windows Azure服务管理API使得存储服务更易于管理
2、数据库复习(概论)(转)
3、WPF 同一个程序 只允许 同时运行一个
4、移动端奇葩的多行文字省略隐藏
5、C语言I博客作业02


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号