Software Debugging
Course
Online
Description
-
Type
Course
-
Methodology
Online
-
Start date
Different dates available
In this course you will learn how to debug programs systematically using scientific methods and build several automated debugging tools in Python.
Facilities
Location
Start date
Start date
Reviews
Subjects
- Debuggers
- Asserting Expectations
- Simplifying Failures
- Tracking Origins
- Reproducing Failures
Course programme
Theory: Scientific method and its application to debugging.
Fun fact: First bug in the history of computer science.
Practice: Building a simple tracer.
Theory: Assertions in testing and in debugging.
Fun fact: The most expensive bug in history.
Practice: Improving the tracer.
Theory: Strategy of simplifying failures. Binary search. Delta debugging principle.
Fun fact: Mozilla bugathon.
Practice: Building a delta debugger.
Theory: Cause-effect chain. Deduction. Dependencies. Slices.
Fun fact: Sherlock Holmes and Doctor Watson.
Practice: Improving the delta debugger.
Theory: Types of bugs (Bohr bug, Heisenbug, Mandelbug, Schrodinbug). Systematic reproduction process.
Fun fact: Mad laptop bug.
Practice: Building a statistic debugging tool.
Theory: Bug database management. Classifying bugs. Bug maps. Learning from mistakes.
Fun fact: Programmer with the most buggy code.
Practice: Improving your tools and practicing on a real world bug database.
Software Debugging