阿丽亚娜5号航班501的历史影响是什么?
阿丽亚娜5型火箭发射的在她的处女航(经过37秒解体飞行501)通常被称为一个历史上最昂贵的软件错误1: 欧洲航天局花了10年时间和70亿美元,生产出了Ariane 5,这是一种巨型火箭,每次发射时都能将一对三吨重的卫星投向轨道,旨在使欧洲在商业航天领域具有压倒一切的优势。 去年6月首次航行不到一分钟,炸弹就爆炸了,在法属圭亚那的红树林沼泽中散落着炽热的瓦砾,这是一个小型计算机程序,试图将64位数字填充到16位空间中。 一个错误,一个崩溃。在计算机科学史册中记录的所有粗心代码行中,这一行可能是最具有毁灭性的高效代码。通过与火箭专家的访谈以及为航天局准备的分析,出现了从算术错误到彻底销毁的明确道路。 Flight 501的故障和随后的调查对安全关键系统和软件测试的研究产生了哪些重大变化? 我不是在寻找错误本身的解释,而是在从错误调查启发或直接与之相关的研究方面解释错误的历史影响。例如,本文得出以下结论: 我们使用静态分析来: 检查变量的初始化, 提供共享变量潜在数据访问冲突的详尽列表, 从Ada语义中详尽列出潜在的运行时错误。 据我们所知,这是首次使用基于布尔和基于非布尔的静态分析技术来验证工业程序。 同样,本文(pdf)指出: 基于抽象解释的静态程序分析已用于对Ariane 5启动器和ARD的嵌入式ADA软件进行静态分析。静态程序分析器旨在自动检测运行时错误(例如标量和浮点溢出),数组索引错误,被零除和相关算术异常,未初始化的变量,共享数据结构等。分析仪能够自动发现Ariane 501的飞行错误。嵌入式安全关键软件(例如航空软件)的静态分析非常有前途。 对于这一事件对软件测试方法和工具的影响,我将进行详尽的解释。 1这笔70亿美元的数字很可能是阿丽亚娜5号项目的总成本,维基百科报道,这次失败造成的损失超过3.7亿美元。失败仍然是一个相当昂贵的失败,但远不及70亿美元的数字。