Software bug definition
Software bug refers to a flaw in a computer program that prevents it from functioning properly or opens the program to unauthorized manipulation. Software bugs can arise from various sources, such as coding errors, oversights in design, or unexpected interactions with other software.
Some bugs don’t happen every time and instead occur only when specific conditions are met. It may make reproducing and fixing such bugs challenging.
See also: zero day, debug symbols
Types of software bugs:
- Syntax bugs. Mistakes in the code's written language, like missing semicolons or unmatched brackets.
- Runtime bugs. These cause a program to crash. For example, trying to divide a number by zero.
- Logic bugs. The program runs, but the output isn't what you expect because there's an error in the logic or sequence of operations. For example, a calculator giving wrong results due to incorrect formulas.
- Semantic bugs. While the code might be syntactically correct, it doesn't fulfill the intended purpose or requirement.
- Resource bugs. These are software flaws related to external resources such as running out of memory or failing to open a file because it's in use elsewhere.
- Concurrency bugs. Mistakes that occur when multiple interconnected processes are running simultaneously.
- Performance bugs. The software runs slower than expected or uses more resources.