Memory tracing (executing additional code for every memory access of a program) is a powerful technique with many applications, e.g., debugging, taint checking, or tracking dataflow. Current approaches are limited: software-only memory tracing incurs high performance overhead (e.g., for Libdft up to 10x) because every single memory access of the application is checked by additional code that is not part of the original application and hardware is limited to a small set of watched locations. This paper introduces memTrace, a lightweight memory tracing technique that builds on dynamic on-the-fly cross-ISA binary translation of 32-bit code to 64-bit code. Our software-only approach enables memory tracing for unmodified, binary-only x86 applica...
This paper describes IDtrace, a binary instrumentation tool which produces execution traces for the ...
Fay is a flexible platform for the efficient collection, processing, and analysis of software execut...
Usage of the execution stack at run-time captures the dynamic state of programs and can be used to d...
Memory access tracing is a program analysis technique with many different applications, ranging from...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
Memory bugs are a broad class of bugs that is becoming increasingly common with increasing software ...
While much current research concerns multiprocessor design, few traces of parallel programs are avai...
Shadow memory is used by dynamic program analysis tools to store metadata for tracking properties of...
Several existing dynamic binary analysis tools use shadow mem-ory—they shadow, in software, every by...
Abstract—Memory trace analysis is an important technology for architecture research, system software...
Shadow memory is used by dynamic program analysis tools to store metadata for tracking properties of...
Abstract. Memory traces record the addresses touched by a program during its execution, enabling man...
Concurrency levels in large-scale supercomputers are rising exponentially, and shared-memory nodes w...
Memory bugs are a broad class of bugs that is becoming increasingly common with increasing software ...
Recently there has been a surge of interest in developing perfor-mance debugging tools to help progr...
This paper describes IDtrace, a binary instrumentation tool which produces execution traces for the ...
Fay is a flexible platform for the efficient collection, processing, and analysis of software execut...
Usage of the execution stack at run-time captures the dynamic state of programs and can be used to d...
Memory access tracing is a program analysis technique with many different applications, ranging from...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
Memory bugs are a broad class of bugs that is becoming increasingly common with increasing software ...
While much current research concerns multiprocessor design, few traces of parallel programs are avai...
Shadow memory is used by dynamic program analysis tools to store metadata for tracking properties of...
Several existing dynamic binary analysis tools use shadow mem-ory—they shadow, in software, every by...
Abstract—Memory trace analysis is an important technology for architecture research, system software...
Shadow memory is used by dynamic program analysis tools to store metadata for tracking properties of...
Abstract. Memory traces record the addresses touched by a program during its execution, enabling man...
Concurrency levels in large-scale supercomputers are rising exponentially, and shared-memory nodes w...
Memory bugs are a broad class of bugs that is becoming increasingly common with increasing software ...
Recently there has been a surge of interest in developing perfor-mance debugging tools to help progr...
This paper describes IDtrace, a binary instrumentation tool which produces execution traces for the ...
Fay is a flexible platform for the efficient collection, processing, and analysis of software execut...
Usage of the execution stack at run-time captures the dynamic state of programs and can be used to d...