Exploiting hardware performance counters with flow and context sensitive profiling
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
An evaluation of space-filling information visualizations for depicting hierarchical structures
International Journal of Human-Computer Studies - Empirical evaluation of information visualizations
Graph Visualization and Navigation in Information Visualization: A Survey
IEEE Transactions on Visualization and Computer Graphics
CHI '01 Extended Abstracts on Human Factors in Computing Systems
Aspect weaving in standard Java class libraries
Proceedings of the 6th international symposium on Principles and practice of programming in Java
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
Exploring large profiles with calling context ring charts
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
Visualizing and exploring profiles with calling context ring charts
Software—Practice & Experience
Hi-index | 0.00 |
Statically exploring the inter-procedural control flow of object-oriented applications is often difficult because of the use of abstraction, polymorphism, and dynamic binding. To ease this problem, in this tool demonstration, we present a new profiler that dynamically explores the inter-procedural control flow of Java applications while they are executing. Our profiler visualizes the complete Calling Context Tree (CCT) with various dynamic metrics, such as method invocations, executed bytecodes, or allocated objects, and enables efficient navigation in large CCTs comprising up to several millions of nodes. We show that our tool can render data quite fast with response times in the range of 14--204ms upon user interactions. Thanks to a carefully tuned incremental data representation, the profiling data produced by a running application can be updated several times per second on a standard laptop. The visualization can also show recently active parts of the application. The collection of profiling data uses an aspect-based dynamic program analysis technique that simplifies extension and customization of the tool.