Definition
A bug is a defect in a program that causes behavior to deviate from what is expected, produce errors or crash. The word was already in engineering use, but the 1947 record of a moth found in the Harvard Mark II computer made it widespread.
How it works
Bugs typically stem from coding mistakes, design oversights or misunderstandings of how an interface behaves. Once found, they usually go through reporting, reproduction, root-causing, fixing and regression testing. For a systematic taxonomy of software weaknesses, see MITRE’s CWE catalog.
Usage
Teams track a bug’s lifecycle in an issue tracker; fixes ship as patches or new releases, and are announced to users in the release notes.
Related and confusable terms
Release notes record which bugs each version fixed. A bug differs from a feature request: the former is a defect where behavior mismatches expectations, the latter is a new capability that does not exist yet.