orbiter

软件史上最著名的 10 大 Bug

╄→尐↘猪︶ㄣ 提交于 2020-08-13 09:26:41
本文最初发表在 Medium 博客,经原作者 Kesk -*- 授权,InfoQ 中文站翻译并分享。 1947 年 9 月 9 日下午 3:45,美国计算机科学家兼美国海军少将 Grace Murray Hopper 在 Harvard Mark II 计算机日志中记录了第一个计算机 Bug。她写道:“发现 Bug 的第一个实际案例。” 在这个领域不犯任何错误可能会很难,但幸运的是,并不是所有的错误都如此昂贵。在这份总结列表中,我收集了一些一直引起我注意的错误。 1. 亚利安 5 号运载火箭爆炸事件 1996 年 6 月 4 日,欧洲空间局(European Space Agency,ESA)发射的亚利安 5 号(Ariane 5)运载火箭在法属圭亚那的库鲁发射场发射后仅 40 秒就爆炸了。这枚火箭经过长达十年的研发,耗资 80 亿美元后进行首飞,但这一 Bug 的结果导致了 3.7 亿美元的损失。 首飞失败的原因是整数溢出,这是计算机编程中一个普遍存在的错误。在本例中,有人试图在 16 位空间中设置 64 位数字。 2. PayPal 意外向某人支付 92 千万亿美元 当 Chris Reynolds 打开他的 PayPal 电子邮件对账单时,这位宾夕法尼亚州公关主管的账户余额显示为 92,233,720,368,547,800 美元。 在 64 位数字的世界里,这个数字太过庞大