MappedTrace: Tracing Pointer Remotely with Compiler-generated Maps
Journal:
arXiv
Published Date:
Jan 18, 2025
Abstract
Existing precise pointer tracing methods introduce substantial runtime
overhead to the program being traced and are applicable only at specific
program execution points. We propose MappedTrace that leverages
compiler-generated read-only maps to accurately identify all pointers in any
given snapshot of a program's execution state. The maps record the locations
and types of pointers, allowing the tracer to precisely identify pointers
without requiring the traced program to maintain bookkeeping data structures or
poll at safe points, thereby reducing runtime overhead. By running the tracer
from a different address space or machine, MappedTrace presents new
opportunities to improve memory management techniques like memory leak
detection and enables novel use cases such as infinite memory abstraction for
resource-constrained environments.