# Scientific debugging
<!-- Put the link to this slide here so people can follow -->
<!--slide: https://hackmd.io/p/template-Talk-slide-->
## Guaranteed way to reach root cause of bugs
---
# Debugging
> Debugging is the process of identifying and removing errors from computer hardware or software. - Wiki
> Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. - BRIAN W. KERNIGHAN
---
# Debugging problems
- It is an essential skill along with coding but different than coding
- It needs a context. We loose context when we are distracted
- Debugging may take more than 8 hours
- Debugging may require more than 1 debugger at different times
- Trial and Error will help in 'Hello World' programs only
---
# Scientific method to debug
- Based on scientific method
- Hypothesis driven
- Documentation
- Applicable to any debugging
---
{"metaMigratedAt":"2023-06-15T09:17:39.332Z","metaMigratedFrom":"YAML","title":"Scientific Debugging","breaks":false,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"ee285bb5-5ecc-4ed7-b7fe-f14579be539c\",\"add\":3245,\"del\":2122}]"}