A system and method for determining where bottlenecks in a program's data
accesses occur and providing information to a software developer as to
why the bottlenecks occur and what may be done to correct them. A stream
of data access references is analyzed to determine data access patterns
(also called data access sequences). The stream is analyzed to find
frequently repeated data access sequences (called hot data streams).
Properties of the hot data streams are calculated and upon selection of a
hot data stream are displayed in a development tool that associates lines
of code with the hot data streams.