Hacker News new | past | comments | ask | show | jobs | submit login

They're complementary, IMO: unit tests show that your implementation works as expected, while a formal specification allows you to check that your approach is right to begin with.

That being said, TLA+ specifications have uncovered really hairy concurrency bugs which would be a nightmare to unit test - for instance, Amazon found bugs in DynamoDB which required 35 steps to reproduce [1].

[1] http://lamport.azurewebsites.net/tla/formal-methods-amazon.p...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: