代码历史上最昂贵的 7 个错误

算法或程序中的一个小技术错误就可能造成数百万美元的损失 。 本文带大家看看迄今为止历史上因程序错误而带来后果最为昂贵的7个错误 。
美国宇航局火星气候轨道器:1.93亿美元
代码历史上最昂贵的 7 个错误
文章图片
1999年 , 美国宇航局的火星气候轨道飞行器进入了一个过低的轨道 , 导致航天器在大气层中燃烧 。 这一失败最终追溯至一次换算错误——英制磅秒单位没有转换成标准公制牛顿秒 。
美国宇航局的火星轨道器是其火星勘测者计划中的第二个探测器 , 其中还包括1996年11月发射的火星全球勘测者和1999年1月发射的火星极地着陆器 。 它们被设计成大致同时到达 , 对火星的表面、气候和大气进行实验 。 它原定于1999年9月23日到达轨道 。 美国宇航局的科学家们希望 , 一旦航天器到达火星 , 它将帮助他们重建气候历史 , 并在地表找到水的迹象 。 本次任务结束后 , 它还将作为未来火星任务的通信中继 。
1999年9月23日 , 火星气候轨道器按计划开始入轨燃烧 。 飞船原定在经过火星后重新建立联系 , 然后发送信号 , 但不幸的是 , 飞船没有收到任何信号 。 在TCM-4及进入轨道的一个礼拜间 , 导航团队认为探测器的高度有可能比预期的还要低得多 , 大约位于150至170公里 。
火星气候探测者号任务失败的主要原因是人为因素 , 因为火星气候探测者号上的飞行系统软件使用英制单位磅力计算推进器动力 , 而地面人员输入的方向校正量和推进器参数则使用公制单位牛顿 , 导致探测器进入大气层的高度有误 , 最终瓦解碎裂 。
水手1号:1850万美元
代码历史上最昂贵的 7 个错误
文章图片
水手1号事件 , 也被称为人类历史上最昂贵的连字符 , 是美国宇航局的另一个失误 , 虽然很小 , 但导致公司损失了数百万美元 。
水手号的计划中发射了一系列为探索火星、金星、水星等而设计的无人太空船 。 这个计划夺得多项第一 , 包括:第一次跨星系星际飞越、第一个行星探测器以及第一个以重力加速航行的太空船 。
水手1号于1962年7月22日上午9点21分发射 , 距离发射不到5分钟 , 任务被迫中止;人类历史上最具历史意义的一次飞行坠毁于地面 , 而这只是因为数学代码中的一个小错误 。
美国宇航局在其网站上引述道:“靶场安全官检测到计划外的偏航提升动作之前 , 助推器的表现都是让人满意 。 但引导命令的错误应用导致无法转向 , 并将导致航天器坠毁 , 可能坠毁于北大西洋航道或有人居住的区域 , 因而‘一名靶场安全官随后下令进行破坏性中止’ 。 ”
事故发生几天后 , 《纽约时报》发表了一篇文章 , 解释了坠机的原因 。 它说这个错误是“在一些数学数据中遗漏了一个连字符”的结果 。 据称 , 美国宇航局的一名程序员在将“大量编码信息”输入计算机系统时遗漏了这个符号 。
几天后 , 美国宇航局官员理查德·莫里森向国会提交了销毁火箭的案例 , 并强调了微小遗漏的重要性:“连字符提示航天器在恢复雷达联系前 , 需忽略计算机提供的数据 。 当该连字符被省略时 , 虚假信息被输入航天器控制系统 。 在这种情况下 , 计算机将火箭向左转 , 机头朝下 , 火箭服从该命令并坠毁 。 ”
阿丽亚娜5号航班501:800万美元
代码历史上最昂贵的 7 个错误
文章图片
1996年6月4日 , 欧洲航天局发射的无人驾驶的阿丽亚娜5号火箭在从法属圭亚那库鲁升空仅40秒后爆炸 。 这枚火箭在耗资数百万美元的开发十年后开始了它的第一次航行 。