4 ms·
You can't come up with enough tests to prove that software is bug-free. No program has ever been written which is bug-free.
by mimixco 8y ago
You can't come up with enough tests to prove that software is bug-free. No program has ever been written which is bug-free.
- masklinn 8y ago> You can't come up with enough tests to prove that software is bug-free. Sure you can: you can prove software is correct through exhaustive testing. As noted previously it only works for small input space and simple programs (functions, really) but it does work, you can prove that a boolean xor is correct by enumerating its 4 inputs and checking that all of them produce the expected output. This method can be applied to input spaces up to about 40 bits or so: https://randomascii.wordpress.com/2014/01/27/theres-only-four-billion-floatsso-test-them-all/ https://randomascii.wordpress.com/2014/01/27/theres-only-fou...
- mimixco 8y agoI'm talking about real world software. It's unlikely that anyone cares if a Hello World program is bug-free.
- masklinn 8y ago> I'm talking about real world software. What an unexpected coincidence, so am I! > It's unlikely that anyone cares if a Hello World program is bug-free. Did you consider reading the link I provided at any point?
- mimixco 8y agoI did read it. I stick by my assertion. In practice, software cannot be proven to be bug free. This assertion has been borne out by numerous companies with nearly unlimited budgets who continue to find severe bugs in their software, despite extensive testing. While it's interesting academically that a single function could be tested and shown to be bug-free, it's not relevant in practice. It's the interaction of multiple functions and subsystems that leads to many bugs -- and inputs in edge cases lead to even more than that.
- masklinn 8y ago> I stick by my assertion. In practice, software cannot be proven to be bug free. You can't "stick by your assertion" then provide something which has almost no relation to your original assertion, that's called "moving the goalposts". This moving of goalposts is even more asinine when you're moving them exactly where the comment which you originally decried had put them. Reminder: here is what you originally felt you needed to note was wrong: > Software can not be proved bug-free by tests (and even that assertion is not completely true, you can prove software through exhaustive testing if it's very very simple).