Software is infrastructure: failures, successes, costs, and the case for formal verification
Giovanni Bernardi, Adrian Francalanza, Marco Peressotti, Mohammad Reza Mousavi
TL;DR
This chapter argues that software functions as critical infrastructure and that failures impose trillion-dollar costs. It champions formal verification and program analysis as principled approaches to prevent defects, supported by empirical data and industry case studies from healthcare, aerospace, rail, and IT. By detailing success stories, ROI, and educational strategies, it makes the case for investing in verification tools, methods, and curricula to reduce technical debt and improve safety. The work synthesizes historical failures with modern tooling (eg, TLA+, Frama-C, CompCert) to show practical paths toward scalable, trustworthy software systems. Its practical emphasis on governance, economics, and pedagogy aims to accelerate broad adoption of formal methods across domains.
Abstract
In this chapter we outline the role that software has in modern society, along with the staggering costs of poor software quality. To lay this bare, we recall the costs of some of the major software failures that happened during the last 40 years. We argue that these costs justify researching, studying and applying formal software verification and in particular program analysis. This position is supported by successful industrial experiences.
