3 ms·
All software runs on hardware and all hardware is fallible, ergo all software is fallible, even provably correct software. If you take a networked components vi
by Joeri 6y ago
All software runs on hardware and all hardware is fallible, ergo all software is fallible, even provably correct software. If you take a networked components view, then the assumption of failure must be baked into every network connection. That covers the vast majority of real world systems.
- lmm 6y agoNot all hardware fails undetectably though, and certainly it's possible to separate failure of a component from failure of the network connection to that component. There are definitely parts of a system that need to handle failure, but I think that's different from saying that every component needs to be treated as fallible.