Analyzing execution traces: critical path analysis and distance analysis
System designers make trade offs between metrics of interest such as execution time, functional quality and cost to create a properly balanced system. Execution traces, which are sequences of timestamped start and end events of system tasks, are a general and powerful means to understand the system behavior that gives rise to these trade offs. Such traces can be produced by, e.g. executable models or prototype systems. Their interpretation, however, often is non trivial. We present two automated analysis techniques that work on execution traces to help the system designer with interpretation. First, critical path analysis can be used to answer the typical "what is the bottleneck" question, and we extend earlier work of [16] with a technique that uses application information to refine the analysis. Second, we define a pseudo metric on execution traces, which is useful for calibration and validation purposes, and which can be used to visualize the differences between traces. Both techniques are based on a common graph representation of execution traces. We have implemented our techniques in the Trace visualization tool [12] and have applied them in a case study from the digital printing domain.
International Journal on Software Tools for Technology Transfer