Configurable and efficient memory access tracing via selective expression-based x86 binary instrumentation