Developers increasingly have to diagnose anomalies in programs and libraries they only have a partial knowledge of. As a result, they must simultaneously reverse engineer the parts of the system they are unfamiliar with while interpreting dynamic observation data (performance profiling traces, error-propagation channels, memory leaks), a task particularly costly and difficult. In this paper, we propose a novel interactive navigation to analyse and diagnose 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 present the formalism underpinning our approach, describe a prototype, and discuss the results of a preliminary user study that shows our tool has the potential to complement more traditional navigation approaches.
ACM Copyright Notice: © ACM, 2010. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 2010 ACM Symposium on Software Visualization (SOFTVIS'10), October 25-26, 2010, Salt Lake City, Utah, USA. Copyright 2010 ACM 978-1-4503-0028-5/10/10.complete document
presentationdoi: http://doi.org/10.1145/1879211.1879228 (publisher's link)