An empirical investigation into the usage of a live debugger

Roger Stebler. An empirical investigation into the usage of a live debugger. Masters thesis, University of Bern, June 2017. Details.


Reasoning about the run-time behavior of software applications is a challenging task. Live debuggers are essential tools that developers use in combination with other tools from an IDE to find and fix problematic behavior. Nevertheless, if developers use the debugger the wrong way or the debugger does not provide adequate features, it will complicate the debugging process. To explore these issues and help improve the debugging process, we perform an empirical investigation into how developers fix a given bug in an unknown piece of code. We focus our investigation on how developers use the debugger, and on how domain-specific information helps developers during the debugging process. Towards this goal, we design the experiment as a between-group study with 10 participants. We collected and analyzed 6 hours of recordings. By analyzing them we observed that: (i) developers use different strategies to find the cause of a bug; those who successfully solved the given bug observed the live behavior of the application while stepping in the debugger; (ii) domain-specific information helps developers if they are able to find it, especially when dealing with unfamiliar libraries, and (iii) finding and using domain-specific information is not always straightforward unless the information is shown by default. Based on these observations we propose several improvements to the debugger, such as visually highlighting domain-specific information in the debugger, and automatically executing previous debugging actions to avoid their repetition.

Posted by scg at 29 June 2017, 3:15 pm link
Last changed by admin on 21 April 2009