Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
Visualizing Reference Patterns for Solving Memory Leaks in Java
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Vertical profiling: understanding the behavior of object-priented applications
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Recovering Behavioral Design Models from Execution Traces
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Summarizing application performance from a components perspective
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Visual exploration of multivariate graphs
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data
IEEE Transactions on Visualization and Computer Graphics
The impact of Web service integration on grid performance
HPDC '05 Proceedings of the High Performance Distributed Computing, 2005. HPDC-14. Proceedings. 14th IEEE International Symposium
A Tool for Visual Understanding of Source Code Dependencies
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Execution trace analysis through massive sequence and circular bundle views
Journal of Systems and Software
Hi-index | 0.00 |
Developers must often diagnose anomalies in programs they only have a partial knowledge of. As a result, they must simultaneously reverse engineer parts of the system they are unfamiliar with while interpreting dynamic observation data (performance profiling traces, error-propagation channels, memory leaks), a task particularly difficult. To support developers in this kind of comprehension task, filtering and aggregation have long been suggested as key enabling strategies. Unfortunately, traditional approaches typically only provide a uniform level of aggregation, thus limiting the ability of developers to construct context-dependent representations of a program's execution. In this paper, we propose a localised approach to navigate and analyse the CPU usage of little-known programs and libraries. Our method exploits the structural information present in profiling call trees to selectively raise or lower the local abstraction level of the performance data. We explain the formalism underpinning our approach, describe a prototype, and present a preliminary user study that shows our tool has the potential to complement more traditional navigation approaches