|Abstract||Profiling is of great assistance in understanding and optimizing applications’ behavior. Today’s profiling techniques help developers focus on the pieces of code leading to the highest penalties according to a given performance metric. In this paper we describe a pair of tools we have extended to complement the traditional algorithm-oriented analysis. Our extended tools provide new object- differentiated profiling capabilities that help software developers and hardware designers (1) understand access patterns, (2) identify unexpected access patterns, and (3) determine whether a particular memory object is consistently featuring a troublesome access pattern. Memory objects found in this way may have gone unnoticed with the traditional profiling approach. This additional view may lead developers to think of different ways of storing data, leveraging different algorithms, or employing different memory subsystems in future heterogeneous memory systems.