Title :
Object-centric debugging
Author :
Ressia, Jorge ; Bergel, Alexandre ; Nierstrasz, Oscar
Author_Institution :
Software Composition Group, Univ. of Bern, Bern, Switzerland
Abstract :
During the process of developing and maintaining a complex software system, developers pose detailed questions about the runtime behavior of the system. Source code views offer strictly limited insights, so developers often turn to tools like debuggers to inspect and interact with the running system. Unfortunately, traditional debuggers focus on the runtime stack as the key abstraction to support debugging operations, though the questions developers pose often have more to do with objects and their interactions. We propose object-centric debugging as an alternative approach to interacting with a running software system. We show how, by focusing on objects as the key abstraction, natural debugging operations can be defined to answer developer questions related to runtime behavior. We present a running prototype of an object-centric debugger, and demonstrate, with the help of a series of examples, how object-centric debugging offers more effective support for many typical developer tasks than a traditional stack-oriented debugger.
Keywords :
object-oriented programming; program debugging; software maintenance; key abstraction; natural debugging operations; object-centric debugging; runtime stack; software system development; software system maintenance; source code views; stack-oriented debugger; system runtime behavior; Data structures; Debugging; Indexes; Monitoring; Runtime; Software systems; debugging; object-oriented programming; program comprehension; reflection;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227167