Efficiently identifying object production sites

Most programming environments are shipped with accurate memory profilers. Although efficient in their analyses, memory profilers traditionally output textual listing reports, thus reducing the memory profile exploration as a set of textual pattern-matching operations. Memory blueprint visually reports the memory consumption of a program execution. A number of simple visual cues are provided to identify direct and indirect object production sites, key ingredients to efficiently address memory issues. Scalability is addressed by restricting the scope of interest both in the call graph and the considered classes. Memory blueprint has been implemented in the Pharo programming language, and is available under the MIT license.

[1]  Stéphane Ducasse,et al.  The class blueprint: visually supporting the understanding of glasses , 2005, IEEE Transactions on Software Engineering.

[2]  Romain Robbes,et al.  Software systems as cities: a controlled experiment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[3]  Stéphane Ducasse,et al.  Polymetric Views - A Lightweight Visual Approach to Reverse Engineering , 2003, IEEE Trans. Software Eng..

[4]  Alexandre Bergel,et al.  Spy: A flexible code profiling framework , 2012, Comput. Lang. Syst. Struct..

[5]  Bjørn N. Freeman-Benson,et al.  Visualizing dynamic software system information through high-level models , 1998, OOPSLA '98.

[6]  Arie van Deursen,et al.  A Systematic Survey of Program Comprehension through Dynamic Analysis , 2008, IEEE Transactions on Software Engineering.

[7]  Inanç Birol,et al.  Hive plots - rational approach to visualizing networks , 2012, Briefings Bioinform..

[8]  Sara L. Su,et al.  Heapviz: interactive heap visualization for program understanding and debugging , 2010, SOFTVIS '10.

[9]  Walter Binder,et al.  Visualizing and exploring profiles with calling context ring charts , 2010, Softw. Pract. Exp..

[10]  David J. Duke,et al.  A map of the heap: revealing design abstractions in runtime structures , 2010, SOFTVIS '10.

[11]  Cynthia A. Brewer,et al.  ColorBrewer in Print: A Catalog of Color Schemes for Maps , 2003 .

[12]  Steven P. Reiss Visualizing Java in action , 2003, SoftVis '03.

[13]  Samuel Z. Guyer,et al.  Visualizing the allocation and death of objects , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[14]  Paul Rosen,et al.  Abstract visualization of runtime memory behavior , 2011, 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT).

[15]  Sara L. Su,et al.  Heapviz: Interactive heap visualization for program understanding and debugging , 2013, Inf. Vis..

[16]  Stéphane Ducasse,et al.  High-level polymetric views of condensed run-time information , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..