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
- Skim a recent paper: Debugging and consolidating multiple synthetic chromosomes reveals combinatorial genetic interactionsInfluential work since 2022
- Pick up a classic book: Debugging with GDBThe most-reprinted book on the subject
- Read the landmark paper: Debugging Parallel Programs with Instant ReplayCited 572 times
- Go sideways: Stepping (debugging)A closely related topic
- Go sideways: FuzzingA closely related topic
📖 Definitions
Noun The process of finding and resolving bugs or defects that prevent correct operation of computer software or a system.
Verb present participle and gerund of debug
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Debugging Parallel Programs with Instant Replay
Programmers use slices when debugging
Stopping rules and estimation for recapture debugging with unequal failure rates
Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study
Expertise in debugging computer programs: A process analysis
A formal model of program dependences and its implications for software testing, debugging, and maintenance
Debugging concurrent programs
A general imperfect-software-debugging model with S-shaped fault-detection rate
🆕 Influential since 2022
Debugging and consolidating multiple synthetic chromosomes reveals combinatorial genetic interactions
Automatic building energy model development and debugging using large language models agentic workflow
Explainable automated debugging via large language model-driven scientific debugging
Computational thinking in early childhood education: The impact of programming a tangible robot on developing debugging knowledge
Stochastic debugging based reliability growth models for Open Source Software project
📚 Books worth reading
Debugging with GDBRichard Stallman, Cygnus Solutions · 1988
The art of software testingGlenford J. Myers · 2004
Why programs failAndreas Zeller · 2005
How to diagnose and fix everything electronicMichael Jay Geier, Norman Gjord · 2011
Debugging TeamsBrian W. Fitzpatrick, Ben Collins-Sussman · 2015
Software exorcismBill Blunden · 2004
Troubleshooting Cisco Nexus Switches and NX-OSVinit Jain, Bradley Edgeworth · 2018
GDBArnold Robbins · 2005
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…