Practical Object-Oriented Back-in-Time Debugging

Lienhard, Adrian; Gîrba, Tudor; Nierstrasz, Oscar (2008). Practical Object-Oriented Back-in-Time Debugging. In: Vitek, Jan (ed.) ECOOP 2008 - Object-Oriented Programming. 22nd European Conference, Paphos, Cyprus, July 7-11, 2008. Proceedings. Lecture Notes in Computer Science: Vol. 5142 (pp. 592-615). Heidelberg: Springer Verlag 10.1007/978-3-540-70592-5_25

[img] Text
Seiten aus 10.1007_978-3-540-70592-5.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (453kB) | Request a copy

Back-in-time debuggers are extremely useful tools for identifying the causes of bugs, as they allow us to inspect the past states of objects no longer present in the current execution stack. Unfortunately the "omniscient" approaches that try to remember all previous states are impractical because they either consume too much space or they are far too slow. Several approaches rely on heuristics to limit these penalties, but they ultimately end up throwing out too much relevant information. In this paper we propose a practical approach to back-in-time debugging that attempts to keep track of only the relevant past data. In contrast to other approaches, we keep object history information together with the regular objects in the application memory. Although seemingly counter-intuitive, this approach has the effect that past data that is not reachable from current application objects (and hence, no longer relevant) is automatically garbage collected. In this paper we describe the technical details of our approach, and we present benchmarks that demonstrate that memory consumption stays within practical bounds. Furthermore since our approach works at the virtual machine level, the performance penalty is significantly better than with other approaches.

Item Type:

Book Section (Book Chapter)

Division/Institute:

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; Girba, Tudor Adrian and Nierstrasz, Oscar Marius

Series:

Lecture Notes in Computer Science

Publisher:

Springer Verlag

Language:

English

Submitter:

Factscience Import

Date Deposited:

04 Oct 2013 15:22

Last Modified:

28 Mar 2018 12:41

Publisher DOI:

10.1007/978-3-540-70592-5_25

Web of Science ID:

000257925100024

Additional Information:

ECOOP distinguished paper award

BORIS DOI:

10.7892/boris.37138

URI:

https://boris.unibe.ch/id/eprint/37138 (FactScience: 206796)

Actions (login required)

Edit item Edit item
Provide Feedback