Chapter 14. What is a Bug?
Okay, most programmers know the story – way back when, somebody found an actual insect inside a computer that was causing a problem. (Actually, apparently engineers have been calling problems "bugs" since earlier than that, but that story is fun.)
But really, when we say "bug" what exactly do we mean?
Here's the precise definition of what constitutes a bug:
- The program did not behave according to the programmer's intentions, or
- The programmer's intentions did not fulfill common and reasonable user expectations.
So usually, as long as the program is doing what the programmer intended it to do, it's working correctly. Sometimes what the programmer intended it to do is totally surprising to a user and causes him some problem, so that's a bug.
Anything else is a new feature. That is, if the program does exactly what was intended in exactly the expected fashion, but it doesn't do enough, that means it needs...