Beginner⏱ 5 min read
What is a Software Bug?
sign in to trackA software bug (or defect) is any unintended behaviour, output, or side effect in a software system that deviates from its specification or expected behaviour. Understanding the nature, taxonomy, and root causes of bugs is foundational to systematic defect prevention.
◈Key Points
- Bug vs Defect vs Error vs Failure: Error (human mistake) → Defect (code flaw) → Failure (observable incorrect behaviour).
- Bug taxonomy: logic errors, off-by-one errors, null pointer dereferences, race conditions, memory leaks, configuration bugs.
- The earlier a defect is found, the cheaper it is to fix — requirements defects cost the least; production defects cost the most.
- Not all bugs are worth fixing — cost of fix, risk of fix, user impact, and frequency of trigger all factor into the decision.
- Root cause analysis (RCA) transforms individual bugs into systemic improvement opportunities.
⚡ Expert Pro Tip
Classify bugs by root cause, not just by severity. If you keep seeing the same root cause (e.g., missing input validation), it points to a process or architectural gap that fixing one bug won't solve.