A bug is an error in a program. It can be an error in the logical structure of a program or a syntax error, such as a spelling mistake. Some bugs cause a program to fail immediately; others remain dormant, causing problems only when a particular combination of events occurs. The process of finding and removing errors from a program is called “debugging”.