Hacker News new | ask | show | jobs
by pphysch 547 days ago
> If you’re implementing without formally verifying your solution through model checking, you only think you’re implementing it correctly.

This is a comforting idea, but enumerating every possible state of a real-world (integrated/distributed) software system is a fool's task.

Spend less time on formal verification (fancy word for perfectionism) and more time on risk analysis and cybernetics. Instead of praying that nothing ever goes wrong, plan for faults and design systems that integrate human and machine to respond rapidly and effectively.

"Correctable" is a much more practical target than "always correct".