Configurable and Efficient Memory Access Tracing via Selective Expression-based x86 Binary Instrumentation

Simone Economo, Davide Cingolani, Alessandro Pellegrini, and Francesco Quaglia


Published in: Proceedings of the 24th IEEE Internation Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems
pdf Download PDF

Abstract:
Memory access tracing is a program analysis technique with many different applications, ranging from architectural simulation to (on-line) data placement optimization and security enforcement. In this article we propose a memory access tracing approach based on static x86 binary instrumentation. Unlike non-selective schemes, which instrument all the memory access instructions, our proposal selectively instruments a subset of those instructions that are the most (or fully) representative of the actual memory access pattern. The selection of the memory access instructions to be instrumented is based on a new method, which clusters instructions on the basis of their compile/link-time observable address expressions and selects representatives of these clusters. This allows for reducing the runtime cost for running instrumented code, while still enabling high accuracy in the determination of memory accesses. The trade-off between overhead and precision of the tracing process is user-tunable, so that it can be set depending on the final objective of memory access tracing (say on-line vs off-line exploitation). Additionally, our approach can track memory access at different granularity (e.g., virtual-pages or cache line-sized buffers), thus having applications in a variety of different contexts. The effectiveness of our proposal is demonstrated via experiments with applications taken from the PARSEC benchmark suite.

BibTeX Entry:

@inproceedings{Eco16,
author = {Economo, Simone and Cingolani, Davide and Pellegrini, Alessandro and Quaglia, Francesco},
booktitle = {Proceedings of the 24th IEEE Internation Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems},
title = {Configurable and Efficient Memory Access Tracing via Selective Expression-based x86 Binary Instrumentation},
year = {2016},
month = sep,
publisher = {IEEE Computer Society},
series = {MASCOTS},
doi = {10.1109/MASCOTS.2016.69},
location = {London, UK}
}