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.