FVO — Formal Verification Online
Lesson 9.1 · When Proofs Lie: Avoiding False Positives

Spurious passes vs spurious failures

Formal tools are mathematically rigorous — about the question you asked. When the question is subtly wrong, the answer can be rigorously useless. Two kinds of error exist:

False negativeFalse positive
What you seeAssertion failsAssertion proven
RealityNo real bug (bad assumption or property)A real bug exists, or nothing was really checked
CostDebug timeA bug escapes — possibly to silicon
How you noticeYou have to debug it anywayOnly if you go looking

Failures announce themselves. Passes do not. That asymmetry is why experienced formal engineers treat a proof as a claim to be audited, not as a result. The rest of this chapter is a tour of the most common ways passes go wrong, each with a small example you can reproduce.

Was this page helpful?

Tip: select any text on the page before clicking Report and it will be quoted in your report.