"Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence." -- Edsger Dijkstra Can somebody explain this quote ?
A program will crash if it has bugs, but if it runs it's not a guarantee that it's correct. It can still have bugs in it, just harder to find.
Prove to me that there are no invisible people. The argument is, "I never saw one!" Well... they are invisible. So finding all the invisible people in the world is a lot like finding all the bugs in a complex program. Sure, you can spread dust on the floor in some places, spray mist in the air in others, and try as you can. There is just too much to cover to test everything for invisible people.... or bugs in program, the invisible people of the computers. On top of that, every program made these days uses libraries or at least runs on an operating system not made by perfect people. A clean program in the lab may have a bad reaction on a buggy machine in the world Look at how much it took to reproduce this bug: http://www.ccnr.org/fatal_dose.html Down there in the text it talks about hours and hours of work when knowing what they were looking for! Imagine if you did not know? You put the program through the paces, tossed in some odd values, and kicked things around the room a lot. Nothing too bad happens, so you patch the few bits you find and ship out your radiation machine. And then it kills a few dozen people.
Join our real-time social learning platform and learn together with your friends!