3 ms·
The most trivial software system you can think of nowadays is already so large in scope and/or complex that you can’t prove it doesn’t work either, because ther
by hcarvalhoalves 7y ago
The most trivial software system you can think of nowadays is already so large in scope and/or complex that you can’t prove it doesn’t work either, because there’s no complete specification on how it’s supposed to work - if it existed, it would be the bug-free software itself, because all software is specification.
In the end all that matters is whether the system is useful, in an economical sense (value delivered > defects over time).
So I would argue software did not get reliable, our bar for defects remained low, but the relative value delivered increased a lot because software has amazing leverage.
- hcs 7y agoMoreover, when you get an existence proof of a bug, it's usually easy to change such a system to seem ok. As Hoare also said, "There are two methods in software design. One is to make the program so simple, there are obviously no errors. The other is to make it so complicated, there are no obvious errors."