← 最新论文
💻 computer science

Software is infrastructure: failures, successes, costs, and the case for formal verification

本章认为,由于软件作为关键基础设施发挥着作用,且历史上失败案例所带来的惊人代价证明了质量低劣的严重后果,因此采用形式化验证和程序分析是必不可少的,这一立场也得到了工业界成功应用的支撑。

原作者: Giovanni Bernardi, Adrian Francalanza, Marco Peressotti, Mohammad Reza Mousavi

发布于 2026-01-30
📖 1 分钟阅读☕ 轻松阅读

原作者: Giovanni Bernardi, Adrian Francalanza, Marco Peressotti, Mohammad Reza Mousavi

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

核心理念:软件即基础设施

想象一个世界,我们的道路、桥梁和发电厂不再是由钢铁和混凝土构成,而是由无形的编码组成。作者认为,软件已经成为了现代社会的底层基础设施。正如一座桥梁需要承受卡车的重量而不坍塌一样,我们的软件(运行着医院、银行、飞机甚至你的烤面包机)也需要完美运行。

这篇论文提出了一个简单但令人胆战心惊的问题:如果一座桥是用错误的数学逻辑建造的,它会倒塌。如果软件是用错误的数学逻辑建造的,会发生什么? 答案是:数十亿美元凭空消失,人们受伤,甚至有人丧生。

问题所在:我们正在沙滩上筑造城堡

作者指出,我们对待软件的方式与对待物理工程完全不同。

  • 筑造一面墙: 如果你建造一面墙,物理定律会进行测试。如果墙太弱,重力会在你刷漆之前就把它撞倒。你不能通过“运行”一面墙来观察它是否有效;你只能建造它,并祈祷数学逻辑能够成立。
  • 编写软件: 软件仅仅是文本。你无法通过“感觉”来发现一个 Bug。你必须运行代码才能知道它是否有效。但运行代码就像是驾车冲向悬崖,只为了看看降落伞是否能打开。当你发现 Bug 时,灾难往往已经发生了。

论文举了一个有趣的例子:如果你在电脑终端输入 rm -rf ~,它会删除你的整个主目录。你不需要运行它就能知道它很危险;你只需要阅读手册(即“数学逻辑”)就能理解它的作用。但对于复杂的代码,仅仅阅读手册是不够的。

“错误数学”的代价:万亿级别的资金漏洞

论文列举了过去 4 届年间软件失效的“耻辱柱”,以展示这些错误是多么昂贵。可以将这些视为数字世界的“桥梁坍塌”:

  • Therac-25(医疗保健): 一台放射治疗机因为代码允许两个按钮被过快连续按下,导致患者接受了超量辐射。结果: 6 人死亡。
  • 伦敦救护车系统(应急服务): 一个新的调度系统存在内存泄漏(就像一个带孔的水桶)。它充满了旧数据并最终崩溃。结果: 救护车无法找到患者;20–30 人死亡。
  • 波音 737 MAX(航空): 一个名为 MCAS 的软件系统根据单个故障传感器将飞机的机头向下推。结果: 两起空难,346 人死亡,以及 200 亿美元的损失。
  • Horizon 丑闻(银行业): 一个错误的会计系统误判成千上万的店主在偷窃资金。结果: 900 多人被误判入狱,且修复该系统耗费了纳税人超过 10 亿英镑。
  • CrowdStrike(全球 IT): 一个微小的更新错误导致全球数百万台电脑出现蓝屏并瘫痪。结果: 全球性的混乱,造成了数百亿美元的商业损失。

作者计算出,低质量软件每年给美国经济造成 1.56 万亿美元的损失。这比许多国家的整个 GDP 还要多。这纯粹是由于修复本可以避免的错误而造成的资金浪费。

解决方案:“数学蓝图”

论文认为,我们不应该再靠猜测,而应该在运行软件之前,先通过证明来确保其有效性。这就是形式化验证(Formal Verification)

类比:
想象你正在建造一座摩天大楼。

  • 现有方法(测试): 你盖到第 100 层,然后是第 101 层,接着是第 102 层。你检查电梯是否正常工作。如果第 102 层坍塌了,你就拆掉重建,再试一次。这既昂贵又危险。
  • 形式化验证: 在你浇筑第一滴混凝土之前,你使用高级数学来证明该设计在任何重量下都不可能坍塌。你根据物理定律检查蓝图,以确保其完美无瑕。

在软件领域,这意味着利用数学来证明代码会精确地执行其应有的功能,且不会做出任何多余的行为。

它划算吗?是的,非常划算

你可能会想:“数学很难且昂贵。这值得吗?” 论文给出的回答是:是的,绝对值得

  • 空...

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →