4 ms·
Can there ever be 'bug free' software? As a lifelong programmer, I'm starting to think that it's impossible to write perfect software free from bugs.
by ConcernedCoder 5y ago
Can there ever be 'bug free' software? As a lifelong programmer, I'm starting to think that it's impossible to write perfect software free from bugs.
- ma2rten 5y agoI thought that was conventional wisdom.
- Symbiote 5y agoIn some cases, yes. See Software Verification [1] for some pointers. It's massively more expensive, so you'll see it used in aerospace, railway signalling, some vehicles (trains, components of some cars), power generation and distribution, industrial processes. Sometimes also in consumer products that have long warranties and are extremely expensive to recall/repair, like washing machines. Just yesterday was a post on a formally-verified C compiler, used by Airbus (and others) [2] [1] https://en.wikipedia.org/wiki/Software_verification https://en.wikipedia.org/wiki/Software_verification [2] https://news.ycombinator.com/item?id=27648735 https://news.ycombinator.com/item?id=27648735
- kube-system 5y agoSoftware verification can make a system ≈ bug free from a pragmatic perspective, but, there are still holes: humans do the verification, and there are practical limitations to the scope of system and integration tests. The fact that we still find zero-days (and other bugs) on systems that have gone through software verification is evidence of this.
- jhickok 5y agoTechnically, I don't see why it would be impossible. Seems like it is incredibly unlikely.
- dragonwriter 5y ago> Can there ever be 'bug free' software? Sure. And if you look at sufficiently small-scale pieces of software, there is probably a lot. As scope of a software system increases, the probability of bugs rapidly approaches unity, though.
- toast0 5y agoIt depends on what you mean by bug. Often, requirements change, and now the program doesn't meet requirements; that's not something you can avoid. Ensuring your requirements are correct is possible, but often hard. Ensuring your software meets the requirements is possible, but often hard, especially if you need to consider hardware failure or defects.
- staticassertion 5y agoCan a single program be proven bug free? Sure. Can we do that for arbitrary programs? No. This may interest you: https://en.wikipedia.org/wiki/Rice's_theorem https://en.wikipedia.org/wiki/Rice's_theorem
- 71a54xd 5y ago> Can there ever be 'bug free' software? Only in academia