Dynamic program analysis tools allow the user to explore and analyze program execution behavior. This can be done in two general ways. Profiling computes statistical information to summarize program behavior, allowing the user to find and focus quickly on the main bottlenecks of the parallel application. Tracing portrays the execution behavior as a sequence of abstract events that can be used to determine various properties of time-based behavior.
The most critical factor for the user is
to relate the measurement results back to the source code.
helps in presenting the results in terms of pC++ language
objects and in supporting global features that allows the user to locate
the corresponding
routine in the callgraph or source text by simply clicking on the
related measurement result objects.
Before presenting the
dynamic analysis tools racy and easy,
we briefly describe the approach used to implement profiling and tracing
in pC++ (see [9] for more details).