Senior Honors Thesis Defense: Elephant Tracks II: Practical, Extensible Memory Tracing

May 3, 2018
12:30 PM
Halligan 209
Speaker: Xuanrui "Ray" Qi
Host: Sam Guyer

Abstract

This thesis presents a new tool for memory tracing, Elephant Tracks II. Elephant Tracks II (or ET2) is a portable, modular and extensible memory tracing tool designed for practical memory tracing of garbage-collected programs, producing precise traces of the program’s heap operations, including allocation, pointer mutation, procedure entry & exit, and object deaths, using the Merlin algorithm (Hertz et al., 2006) to compute death times. Unlike all previous tools, however, ET2 is capable of supporting multiple programming languages by decoupling the tracing phase and the death time computation phase. We describe the high-level design and low-level implementation strategies employed to support this extensibility and portability. In this thesis, we also present new algorithms and implementation techniques developed as part of the Elephant Tracks II project, as well as an overview of the applications of memory tracing.