Report · hillelwayne.com
Why don't people use formal methods? (2019)

hillelwayne.com
Source published July 30, 2026
Summary: 1 min read
🔥🔥🔥🔥🔥
53/100
Summary
Barriers to the widespread adoption of formal methods include perceived high costs and a lack of applicability to certain domains. Historical context reveals that these methods have not been effectively integrated into mainstream software development practices.
Key Takeaways
- Formal methods are rarely used in software development, even in high-assurance domains like medical devices and aircraft.
- There is no unified formal methods community; different groups use varying terminology and approaches for formal specification and verification.
- Most software specifications lack clarity, making it difficult to determine what constitutes "correct" behavior in code.
- Formal verification can be categorized into code verification (CV) and design verification (DV), with partial and full verification options available.
Coverage & discussions
Hacker News · hillelwayne.com
Community discussions
Community Sentiment
Positives
- Formal methods have proven invaluable in high-stakes projects like rewriting Postgres in Rust, where correctness is non-negotiable — over 1000 functions verified and even bugs discovered!
- There's a refreshing perspective that type checkers offer a taste of formal verification, suggesting there's value in enhancing our modeling capabilities rather than outright dismissal.
Concerns
- The reality is that most software engineers shy away from learning anything beyond their college curriculum, which stifles innovation and adoption of formal methods.
- Creating formal specifications is a daunting task that often leads to a realization of the vast surface area for bugs, making engineers question the practicality of formal methods.
- Many industry professionals lack the respect and understanding of formal methods, leading to a culture where even informal methods are underutilized.
Related Articles

The Case Against Formal Verification, 50 Years Later
Aug 16, 2026

What can you confidently guarantee about your software?
Jun 29, 2026

LLMs are making formal software verification feasible at a much larger scale
Oct 22, 2026

LLMs could be, but shouldn't be compilers
Feb 6, 2026

Grace Hopper's Revenge
Mar 17, 2026