Flow-Centric, Back-In-Time Debugging

Lienhard, Adrian; Fierz, Julien; Nierstrasz, Oscar (2009). Flow-Centric, Back-In-Time Debugging. In: Objects, Components, Models and Patterns, Proceedings of TOOLS Europe 2009. Lecture Notes in Business Information: Vol. 33 (pp. 272-288). Heidelberg: Springer Verlag 10.1007/978-3-642-02571-6_16

[img] Text
Seiten aus 10.1007_978-3-642-02571-6-2.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (905kB) | Request a copy

Conventional debugging tools present developers with means to explore the run-time context in which an error has occurred. In many cases this is enough to help the developer discover the faulty source code and correct it. However, rather often errors occur due to code that has executed in the past, leaving certain objects in an inconsistent state. The actual run-time error only occurs when these inconsistent objects are used later in the program. So-called back-in-time debuggers help developers step back through earlier states of the program and explore execution contexts not available to conventional debuggers. Nevertheless, even back-in-time debuggers do not help answer the question, ``Where did this object come from?'' The Object-Flow Virtual Machine, which we have proposed in previous work, tracks the flow of objects to answer precisely such questions, but this VM does not provide dedicated debugging support to explore faulty programs. In this paper we present a novel debugger, called Compass, to navigate between conventional run-time stack-oriented control flow views and object flows. Compass enables a developer to effectively navigate from an object contributing to an error back-in-time through all the code that has touched the object. We present the design and implementation of Compass, and we demonstrate how flow-centric, back-in-time debugging can be used to effectively locate the source of hard-to-find bugs.

Item Type:

Book Section (Book Chapter)


08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Lienhard, Adrian and Nierstrasz, Oscar Marius




Lecture Notes in Business Information


Springer Verlag




Factscience Import

Date Deposited:

04 Oct 2013 15:22

Last Modified:

05 Nov 2019 06:49

Publisher DOI:


Web of Science ID:





https://boris.unibe.ch/id/eprint/37160 (FactScience: 207075)

Actions (login required)

Edit item Edit item
Provide Feedback