Blogs (1) >>
VL/HCC 2020
Tue 11 - Fri 14 August 2020 Dunedin, New Zealand
Tue 11 Aug 2020 15:40 - 16:00 at Zoom Room - Session 3

Debugging remains one of the most challenging activities for developers. This has motivated the invention of numerous debugging tools, which help developers inspect program states through logging and breakpoints or attempt to localize defects through automated or interactive program analysis techniques.

But while these tools offer important support for debugging, they do not align with how developers debug in practice. A recent study found that professional developers still use a simple and ``intuitive'' debugging method in which they observe program behavior, hypothesize a potential cause of the defect, and then test their hypothesis. A debugging hypothesis is a verifiable speculation about a possible cause of incorrect behavior. For example, a developer who sees that clicking a button did not, as expected, open a window, might hypothesize that it was caused by the click handler being incorrectly registered. Working from this hypothesis, she might test it by gathering evidence, searching for possible locations that might implement the click handler registration, or use the debugger to gather information about the run-time state of the program to determine if the registration occurred correctly.

Abdulaziz is a fourth-year Ph.D. student in software engineering at Goerge Mason University. His recent research has been on the area of human-centric debugging.

Tue 11 Aug

Displayed time zone: Pacific Time (US & Canada) change