For people who aren't familiar with the steps needed for formal verification of software; it goes like this:Love4Boobies wrote:Heh, my post got removed, probably because of the Spiderman image (seriously?). Anyway, I had mentioned to alexfru formal verification as a way to guarantee bug-free code, as long as the specification accurately describes the product you want to create but that it's more trouble than it's worth for most projects.
- start with a wrong design
- get the same small team of developers to implement the wrong design twice - once as normal code and again as the "formal specification", and maximise the chance of the same developers making the same mistakes in both versions
- use a buggy tool to "verify" that the bugs in the code actually do match the bugs in the formal specification
- claim that the resulting code was formally verified to mislead people into thinking the resulting software actually works even though you've know it doesn't; because you've already spent 2 years working on something that should've taken 1 year and you've realised that debugging the code, the formal specification and the tool used to verify is 3 times as hard as just debugging the code
Cheers,
Brendan