A state alteration and inspection-based interactive debugger

Yan Wang, Min Feng, Rajiv Gupta, Iulian Neamtiu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish (US)
Title of host publicationIEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013
PublisherIEEE Computer Society
Pages84-93
Number of pages10
ISBN (Print)9781467357395
DOIs
StatePublished - Jan 1 2013
Externally publishedYes
Event2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013 - Eindhoven, Netherlands
Duration: Sep 22 2013Sep 23 2013

Publication series

NameIEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013

Other

Other2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013
CountryNetherlands
CityEindhoven
Period9/22/139/23/13

All Science Journal Classification (ASJC) codes

  • Software

Keywords

  • debugging
  • dynamic slicing
  • state alteration

Cite this

Wang, Y., Feng, M., Gupta, R., & Neamtiu, I. (2013). A state alteration and inspection-based interactive debugger. In IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013 (pp. 84-93). [6648188] (IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM 2013). IEEE Computer Society. https://doi.org/10.1109/SCAM.2013.6648188