The Debugging Book


While the chapters of this book can be read one after the other, there are many possible paths through the book. In this graph, an arrow $A \rightarrow B$ means that chapter $A$ is a prerequisite for chapter $B$. You can pick arbitrary paths in this graph to get to the topics that interest you most:

%3 Tracer Tracing Executions Debugger How Debuggers Work Tracer->Debugger Assertions Asserting Expectations Tracer->Assertions DeltaDebugger Reducing Failure- Inducing Inputs Tracer->DeltaDebugger StatisticalDebugger Statistical Debugging Tracer->StatisticalDebugger DynamicInvariants Mining Function Specifications Tracer->DynamicInvariants ChangeDebugger Isolating Failure- Inducing Changes DeltaDebugger->ChangeDebugger ThreadDebugger Debugging Concurrent Programs DeltaDebugger->ThreadDebugger DDSetDebugger Generalizing Failure Circumstances DeltaDebugger->DDSetDebugger Repairer Repairing Code Automatically DeltaDebugger->Repairer StatisticalDebugger->Repairer Intro_Debugging Introduction to Debugging Intro_Debugging->Tracer PerformanceDebugger Debugging Performance Issues Intro_Debugging->PerformanceDebugger Slicer Tracking Failure Origins Intro_Debugging->Slicer Tracking Tracking Bugs Intro_Debugging->Tracking ChangeCounter Where the Bugs are Tracking->ChangeCounter

Creative Commons License The content of this project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The source code that is part of the content, as well as the source code used to format and display that content is licensed under the MIT License. Last change: 2021-03-07 20:35:54+01:00CiteImprint