Debugging Mindset

Develop a mindset that will help you navigate through any debugging problem

Debugging Mindset

Debugging Mindset udemy course

Develop a mindset that will help you navigate through any debugging problem

Debugging is the most expensive task in the SDLC. More specifically, the fault localization (i.e., locating the root cause of the problem) step is the real bottleneck in the entire process.


There are several attempts in academia to address this problem using automation techniques with relative success in experimental settings and for specific circumstances.

However, in reality, every bug is a case on its own, and there’s no single automated debugging technique that can be applicable to every situation.


This course introduces useful concepts that help create a mindset that software developers can use to deal with difficult bugs.


Section 1: Introduction

  • What is a bug? (YouTube Video)

    • In this lecture you'll learn about the different terms that describe computer problems as well as the story of using the term "bug" to describe them.

  • Activities involved in software debugging

    • This lecture describes the activities needed for a proper debugging process.

Section 2: Useful Techniques

  • This section provides a description of a set of useful techniques that you can use for debugging, including navigating the dependency trees, delta debugging and comparisons.

Section 3: Common Debugging Tools

  • This section describes a set of tools available in most IDEs

Section 4: Code examination process

  • This section describes a process to follow while examining the code during fault localization.

Section 5: Debugging Demos

  • In this section you'll see examples of using the concepts described in the course to debug real programs.