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
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) |
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) [discontinued] |
UniBE Contributor: |
Lienhard, Adrian, Girba, Tudor Adrian, Nierstrasz, Oscar |
Series: |
Lecture Notes in Computer Science |
Publisher: |
Springer Verlag |
Language: |
English |
Submitter: |
Factscience Import |
Date Deposited: |
04 Oct 2013 15:22 |
Last Modified: |
02 Mar 2023 23:23 |
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) |