Research leader at CWI; co-inventor of Rascal meta-programming language. Full professor Software Analysis at TUE. Co-founder/Engineer at https://t.co/g6PFEhgaMK BV
Feb 23, 2019 • 24 tweets • 4 min read
A thread about debugging skills; there are 3 main different ways of reasoning to apply when debugging, each of them useful in complementary ways. It's necessary to tell them apart in order to debug effectively. They are deduction, induction and abduction.
In this thread, the goal of debugging is to learn the cause of failure by studying the behavior of the system. The method is empirical, testing hypotheses which are inspired by evidence: source code, error messages and runtime traces.