Live briefing
Everything about Debugging
Fixing defects in an engineered system
In engineering, debugging is the process of finding the root cause, workarounds, and possible fixes for bugs. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: DebuggingA 5-minute orientation
- Pick up a classic book: Algorithms and BugsThe most-reprinted book on the subject
- Read the landmark paper: Mozilla plan seeks to debug scientific codeCited 12 times
- Go sideways: Stepping (debugging)A closely related topic
- Go sideways: FuzzingA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Mozilla plan seeks to debug scientific code
Debug all your code
Adding domain data to code profiling tools to debug workflow parallel execution
Code-Specify-Test-Debug-Prove: Flexibly Integrating Separation Logic Specification into Conventional Workflows
A Case for Dynamic Reverse-code Generation to Debug Non-deterministic Programs
An exploratory eye tracking study on how developers classify and debug Python code in different paradigms
📚 Books worth reading
Algorithms and BugsElizabeth Tweedale, Heather Lyons · 2017- 📕Code SpelunkingGeorge V. Neville-Neil · 2001
Name What BrokeRavi Vale · 2026
Debugging Macintosh software with MacsBugKonstantin Othmer · 1991
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Stepping (debugging) Program animation or stepping refers to the debugging method of executing code one instruction or line at a time. The programmer may examine the state…
- Fuzzing In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected…
- Computer programming Computer programming is the composition of sequences of instructions, called programs, that computers can follow to perform tasks. It typically involves…
- Heisenbug In computer programming jargon, a heisenbug is a software bug that seems to disappear or alter its behavior when one attempts to study it. The term is…
- Breakpoint In software development, a breakpoint is an intentional stopping or pausing place in a program, put in place for debugging purposes. It is also sometimes…
- Software bug A software bug is a defect (bug) in computer software. A computer program with many or serious bugs may be described as buggy. The effects of a software…
- Software regression A software regression is a type of software bug where a feature that has worked before stops working correctly. This may happen after changes are applied…
- Software archaeology Software archaeology or source code archeology is the study of poorly documented or undocumented legacy software implementations, as part of software maintenanc…