arXiv:2501.10668cs.PLcs.CL2025-01

用编译器生成的映射表远程精准追踪指针,降低开销。

MappedTrace: Tracing Pointer Remotely with Compiler-generated Maps

  • 通过编译器生成只读映射表记录指针位置与类型
  • 无需程序维护额外数据结构,可任意时刻追踪指针
  • 适合内存泄漏检测与资源受限环境的无限内存抽象

现有精确指针追踪方法会带来显著运行时开销,且仅适用于特定执行点。我们提出 MappedTrace,利用编译器生成的只读映射表,可精准识别程序任意快照中的所有指针。该映射表记录指针的位置和类型,使追踪器无需程序维护记账数据结构或在安全点轮询,从而大幅降低运行开销。追踪器可在不同地址空间或机器上运行,为内存泄漏检测等内存管理技术提供新可能,并支持资源受限环境下的无限内存抽象等新应用。

原文摘要 · Abstract (English)

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.

指针追踪编译器优化内存管理

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。