Trevis: A context tree visualization and analysis framework and its use for classifying performance failure reports - Adamoli, Andrea; Hauswirth, Matthias (SoftVis'10: Proceedings of the Symposium on Software Visualization, 2010)
When developers profile their applications to identify performance problems, they normally use profilers producing calling context trees. A calling context tree (CCT) represents the caller-callee relationships of a program. A dynamically collected CCT provides method coverage information. The CCTs produced by profilers also include method hotness information. Trevis, our context tree visualization and analysis framework, allows users to visualize, compare, cluster, and intersect CCTs produced by profilers. We evaluate Trevis in the context of a novel profiling tool called FlyBy. FlyBy runs transparently on an end-user's computer and continuously samples the applications' call stack. When the user perceives the application as sluggish, she presses a "Was Slow!" button to tell FlyBy to file a performance failure report. The report contains the CCT based on the call stack samples FlyBy gathered over the last few seconds before the user pressed the button. We show how Trevis allows us to visualize and classify FlyBy bug reports.