Title :
A state alteration and inspection-based interactive debugger
Author :
Yan Wang ; Min Feng ; Gupta, Rajesh ; Neamtiu, Iulian
Author_Institution :
CSE Dept., UC Riverside, Riverside, CA, USA
Abstract :
Despite significant advances in automated debugging, programmers still rely on traditional interactive debuggers (e.g., GDB) to find and fix bugs. While popular, these debuggers have major deficiencies: they do not guide the programmer in narrowing the source of error, and they only support a limited and low-level set of state-altering commands, hence semantic state alteration requires recompilation and reexecution. To address these shortcomings, we present an interactive debugger that combines capabilities that reduce debugging effort and increase debugging speed. The capabilities that yield these benefits include: state alteration commands for dynamically switching the directions of conditional branches and suppressing the execution of statements; state inspection commands including navigating and pruning dynamic slices; and state rollback and checkpointing commands to allow reexecution of the program from an earlier checkpoint. Our prototype is built on top of GDB using the Pin infrastructure; we also provide a GUI based on KDbg. Our experience shows that our debugger handles many kinds of real bugs effectively and efficiently.
Keywords :
checkpointing; graphical user interfaces; interactive programming; program compilers; program debugging; program slicing; software prototyping; GDB; KDbg based GUI; automated debugging; bug fixing; checkpointing commands; conditional branches; debugging speed; dynamical switching; inspection-based interactive debugger; low-level state-altering command set; pin infrastructure; program reexecution; semantic state alteration; state alteration-based interactive debugger; state inspection commands; state rollback commands; Computer bugs; Debugging; Inspection; Libraries; Navigation; Switches; debugging; dynamic slicing; state alteration;
Conference_Titel :
Source Code Analysis and Manipulation (SCAM), 2013 IEEE 13th International Working Conference on
Conference_Location :
Eindhoven
DOI :
10.1109/SCAM.2013.6648188