A Common Taxonomy Of Bugs And How To Squash Them
summary
A practical four‑way taxonomy maps bugs to concrete actions: Bohr (deterministic logic bugs) get reproduced locally, fixed minimally, and covered with tests; Schrödinger (looks like it works) needs state logging and git history checks like git bisect; Heisenberg (observation changes behavior) uses profilers and flame graphs with kcachegrind/QCacheGrind to find hot callers; Mandelbrot (system failure) inspects logs and disk with df -h, rotates or frees space, then restart and restore.
AI-written summary · about
chapters (10)
- 0:00Introduction to debugging taxonomy
- 3:19Debugging instincts vs patterns
- 8:25Taxonomy of software bugs
- 10:16Boar bugs and how to squash them
- 14:36Schrödinger bugs explained
- 19:56Schrödinger bug resolution
- 20:17Heisenberg bugs and debugging
- 26:42Mandel bugs and system issues
- 31:45Summary and toolkit for debugging
- 33:35Q&A session
related talks
04mWhat Bug Hunting Taught Me About Hunting Bugs
47mHunting Heisenbugs
38mLearning from your bugs
50m#BugsZero
28mTesting Isn't Enough: Fighting Bugs with Hacks
43mOmg, how do I write software that isn't a ticking timebomb!?
36mFixing Flaky Tests Like a Detective
45m82 Bugs I Collected in a Year You Won’t Believe Made It to Production
