Lean proved this program was correct; then I found a bug

37 points by kirancodes


dpc_pw

This is genuinely one of the most memory-safe codebases I've analyzed.

🙄 Yeah, sure Slopus. Like you could build memories outside of your context.

Anyway...

I'm not sure what's the takeaway here is supposed to be? Someone built formally verified implementation for a relatively tiny piece of algorithmic functionality (zlib), and then fuzzing turned out to be more robust way of catching actual bugs, yet the author moves on to calling it: "positive result here is actually the remarkable one" and "overall verification resulted in a remarkably robust and rigorous codebase".

"Remarkably robust" as comparing to what exactly? Even such a trivialized and idealized case shows how formal verification fails at being applied "to the whole thing", where the "whole thing" is remarkably small.

AFAICT, it's just another case of formal verification enthusiasts being excited about it, while it doesn't really translate well to the practical software realities on the ground.

Just to be clear - I like the idea of formal verification, and when feasible it's great, and it's also great if it is becoming feasible in more places. But got to be pragmatic and realistic.