Visualizing Dynamic Metrics with Profiling Blueprints

  • Alexandre Bergel
  • Romain Robbes
  • Walter Binder
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6141)


While traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of visual and detailed runtime information to identify and eliminate computation redundancy. We provide two profiling blueprints which help identify and remove performance bottlenecks. The structural distribution blueprint graphically represents the CPU consumption share for each method and class of an application. The behavioral distribution blueprint depicts the distribution of CPU consumption along method invocations, and hints at method candidates for caching optimizations. These two blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios.


Execution Time Total Execution Time Execution Trace Call Graph Method Invocation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABL97]
    Ammons, G., Ball, T., Larus, J.R.: Exploiting hardware performance counters with flow and context sensitive profiling. In: Proceedings of the ACM SIGPLAN conference on Programming language design and implementation (PLDI’97), pp. 85–96 (1997)Google Scholar
  2. [DLB04]
    Ducasse, S., Lanza, M., Bertuli, R.: High-level polymetric views of condensed run-time information. In: Proceedings of 8th European Conference on Software Maintenance and Reengineering (CSMR 2004), pp. 309–318. IEEE Press, Los Alamitos (2004)CrossRefGoogle Scholar
  3. [Dmi04]
    Dmitriev, M.: Profiling Java applications using code hotswapping and dynamic call graph revelation. In: Proceedings of the Fourth International Workshop on Software and Performance (WOSP 2004), pp. 139–150 (2004)Google Scholar
  4. [DvHHvdW07]
    Deelen, P., van Ham, F., Huizing, C., van de Watering, H.: Visualization of dynamic program aspects. In: Proceedings of the 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2007), June 2007, pp. 39–46 (2007)Google Scholar
  5. [GL04]
    Gîrba, T., Lanza, M.: Visualizing and characterizing the evolution of class hierarchies. In: Proceedings of the 5th ECOOP Workshop on Object-Oriented Reengineering (WOOR 2004)Google Scholar
  6. [HCvW07]
    Holten, D., Cornelissen, B., van Wijk, J.J.: Trace visualization using hierarchical edge bundles and massive sequence views. In: Proceedings of the 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2007), pp. 47–54 (2007)Google Scholar
  7. [Hol06]
    Holten, D.: Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data. IEEE Transactions on Visualization and Computer Graphics 12(5), 741–748 (2006)CrossRefGoogle Scholar
  8. [JS91]
    Johnson, B., Shneiderman, B.: Tree-maps: a space-filling approach to the visualization of hierarchical information structures. In: Proceedings of the 2nd conference on Visualization (VIS 1991), pp. 284–291. IEEE Computer Society Press, Los Alamitos (1991)Google Scholar
  9. [LD03]
    Lanza, M., Ducasse, S.: Polymetric views—a lightweight visual approach to reverse engineering. Transactions on Software Engineering (TSE) 29(9), 782–795 (2003)CrossRefGoogle Scholar
  10. [MBAV09]
    Moret, P., Binder, W., Ansaloni, D., Villazón, A.: Visualizing Calling Context Profiles with Ring Charts. In: Proceedings of the 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2009), pp. 33–36. IEEE Computer Society, Los Alamitos (2009)CrossRefGoogle Scholar
  11. [MGL06]
    Meyer, M., Gîrba, T., Lungu, M.: Mondrian: An agile visualization framework. In: Proceedings of the 3rd ACM Symposium on Software Visualization (SoftVis 2006), pp. 135–144. ACM Press, New York (2006)CrossRefGoogle Scholar
  12. [RHV+09]
    Röthlisberger, D., Härry, M., Villazón, A., Ansaloni, D., Binder, W., Nierstrasz, O., Moret, P.: Augmenting Static Source Views in IDEs with Dynamic Metrics. In: Proceedings of the 25th IEEE International Conference on Software Maintenance (ICSM 2009), pp. 253–262. IEEE Computer Society, Los Alamitos (2009)CrossRefGoogle Scholar
  13. [Sta00]
    Stasko, J.: An evaluation of space-filling information visualizations for depicting hierarchical structures. Int. J. Hum.-Comput. Stud. 53(5), 663–694 (2000)zbMATHCrossRefGoogle Scholar
  14. [WKT04]
    Weidendorfer, J., Kowarschik, M., Trinitis, C.: A tool suite for simulation based analysis of memory access behavior. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 440–447. Springer, Heidelberg (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Alexandre Bergel
    • 1
  • Romain Robbes
    • 1
  • Walter Binder
    • 2
  1. 1.Pleiad Lab, DCCUniversity of ChileSantiagoChile
  2. 2.University of LuganoSwitzerland

Personalised recommendations