If your program crashes or yields incorrect output, it has a bug. There are times, however, when a program runs correctly with some input but produces incorrect output or crashes with different input. You can assume a bug exists, but finding it may be difficult.