The Case Against Formal Verification, 50 Years Later
In 1979, a paper argued that formal verification would ultimately fail, stating that it couldn't improve anyone's confidence in programs. However, recent developments like AI coding, faster verification processes, and the mainstream adoption of verification suggest that these claims may not hold true today. The original paper questioned whether programming should become more like mathematics, arguing that proofs are merely the first step in a larger process and that the real value lies in how other mathematicians internalize and build upon those proofs.
While there is merit to this argument, it applies more to mathematical proofs than to software verification, which requires continuous adaptation and refinement. The authors also highlighted the importance of independent specifications, but modern specification languages now make this process more efficient and less prone to misinterpretation.
Additionally, the argument that fully automatic verifiers are unlikely to be built has changed, with LLM-powered tools increasingly capable of developing and verifying code. Although having a program proven correct is a valuable outcome, it shouldn't reduce the need for other defensive measures like monitoring and rate-limiting.
In summary, the arguments against formal verification seem to have been largely invalidated by recent advancements in AI, verification tools, and the growing acceptance of formal methods in software engineering.
Written by urgent.news from Hacker News's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.