On porting software visualization tools to the web

Software systems are hard to understand due to the complexity and the sheer size of the data to be analyzed. Software visualization tools are a great help as they can sum up large quantities of data in dense, meaningful pictures. Traditionally, such tools come in the form of desktop applications. Modern web frameworks are about to change this status quo, as building software visualization tools as web applications can help in making them available to a larger audience in a collaborative setting. Such a migration comes with a number of promises, perils, and technical implications that must be considered before starting any migration process. In this paper, we share our experiences in porting two such tools to the web and provide guidelines about the porting. In particular, we discuss promises and perils that go hand in hand with such an endeavor and present a number of technological alternatives that are available to implement web-based visualizations.

[1]  Oscar Nierstrasz,et al.  Moose: an agile reengineering environment , 2005, ESEC/FSE-13.

[2]  Martin Pinzger,et al.  "A Bug's Life" Visualizing a Bug Database , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[3]  Christoph Wysseier,et al.  Visualizing live software systems in 3D , 2006, SoftVis '06.

[4]  Michele Lanza,et al.  Visualizing Co-Change Information with the Evolution Radar , 2009, IEEE Transactions on Software Engineering.

[5]  Kim Mens,et al.  Guest editors' introduction to the 3rd issue of Experimental Software and Toolkits (EST): A special issue on Academic Software Development Tools and Techniques (WASDeTT 2008) , 2010, Sci. Comput. Program..

[6]  Harald C. Gall,et al.  CodeCrawler: an information visualization tool for program comprehension , 2005, ICSE.

[7]  R. Likert “Technique for the Measurement of Attitudes, A” , 2022, The SAGE Encyclopedia of Research Design.

[8]  Romain Robbes,et al.  SpyWare: a change-aware development toolset , 2008, ICSE '08.

[9]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[10]  Paul Dourish,et al.  Unifying artifacts and activities in a visual tool for distributed software development teams , 2004, Proceedings. 26th International Conference on Software Engineering.

[11]  Mircea Lungu,et al.  Reverse engineering software ecosystems , 2009 .

[12]  Michele Lanza,et al.  CodeCity: 3D visualization of large-scale software , 2008, ICSE Companion '08.

[13]  Michele Lanza,et al.  The evolution radar: visualizing integrated logical coupling information , 2006, MSR '06.

[14]  Alexandru Telea,et al.  Code Flows: Visualizing Structural Evolution of Source Code , 2008, Comput. Graph. Forum.

[15]  Xiaomin Wu,et al.  Plugging-in visualization: experiences integrating a visualization tool with Eclipse , 2003, SoftVis '03.

[16]  Hans Albert Muller,et al.  Rigi: a model for software system construction, integration, and evolution based on module interface specifications , 1986 .

[17]  Martin Pinzger,et al.  "ABug'sLife" Visualizing aBugDatabase , 2009 .

[18]  Anita Sarma,et al.  Tesseract: Interactive visual exploration of socio-technical relationships in software development , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[19]  Serge Demeyer,et al.  Studying software evolution information by visualizing the change history , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[20]  Harald C. Gall,et al.  Visualizing multiple evolution metrics , 2005, SoftVis '05.

[21]  Dirk Beyer,et al.  Animated Visualization of Software History using Evolution Storyboards , 2006, 2006 13th Working Conference on Reverse Engineering.

[22]  Chandrajit L. Bajaj,et al.  Web based collaborative visualization of distributed and parallel simulation , 1999, Proceedings 1999 IEEE Parallel Visualization and Graphics Symposium (Cat. No.99EX381).

[23]  Alexandru Telea,et al.  Visual Exploration of Combined Architectural and Metric Information , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[24]  Michele Lanza,et al.  Softwarenaut: exploring hierarchical system decompositions , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[25]  Harald C. Gall,et al.  Detection of logical coupling based on product release history , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[26]  Andrian Marcus,et al.  3D representations for software visualization , 2003, SoftVis '03.

[27]  Tudor Gîrba,et al.  Mondrian: an agile information visualization framework , 2006, SoftVis '06.

[28]  Arie van Deursen,et al.  Execution trace analysis through massive sequence and circular bundle views , 2008, J. Syst. Softw..

[29]  Michele Lanza,et al.  Reverse Engineering with Logical Coupling , 2006, 2006 13th Working Conference on Reverse Engineering.

[30]  Romain Robbes,et al.  The Small Project Observatory: Visualizing software ecosystems , 2010, Sci. Comput. Program..

[31]  Michele Lanza,et al.  Visual software evolution reconstruction , 2009 .

[32]  Danny Holten,et al.  Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data , 2006, IEEE Transactions on Visualization and Computer Graphics.

[33]  Michele Lanza,et al.  A Flexible Framework to Support Collaborative Software Evolution Analysis , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[34]  Harald C. Gall,et al.  Visualizing software release histories: the use of color and third dimension , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[35]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[36]  Mircea Lungu,et al.  Towards reverse engineering software ecosystems , 2008, 2008 IEEE International Conference on Software Maintenance.

[37]  Stéphane Ducasse,et al.  Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships , 2007, 2007 IEEE International Conference on Software Maintenance.

[38]  Michele Lanza,et al.  Package patterns for visual architecture recovery , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[39]  Hausi A. Müller,et al.  Rigi: a system for programming-in-the-large , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[40]  André van der Hoek,et al.  Palantir: raising awareness among configuration management workspaces , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[41]  Michele Lanza,et al.  Program Comprehension through Software Habitability , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[42]  Thomas Ball,et al.  Software Visualization in the Large , 1996, Computer.

[43]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[44]  Stéphane Ducasse,et al.  Multi-level Method Understanding Using Microprints , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[45]  Rick Kazman,et al.  View extraction and view fusion in architectural understanding , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[46]  Hausi A. Müller,et al.  Rigi - An environment for software reverse engineering, exploration, visualization, and redocumentation , 2010, Sci. Comput. Program..

[47]  Randall Frost,et al.  Jazz and the Eclipse Way of Collaboration , 2007, IEEE Software.

[48]  Oscar Nierstrasz,et al.  Consistent Layout for Thematic Software Maps , 2008, 2008 15th Working Conference on Reverse Engineering.

[49]  Thomas Ertl,et al.  Texture-based Volume Visualization for Multiple Users on the World Wide Web , 1999, EGVE.

[50]  Arie van Deursen,et al.  Adinda: a knowledgeable, browser-based IDE , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[51]  Hausi A. Müller,et al.  Manipulating and documenting software structures using SHriMP views , 1995, Proceedings of International Conference on Software Maintenance.

[52]  Reidar Conradi,et al.  Impact of software engineering research on the practice of software configuration management , 2005, ACM Trans. Softw. Eng. Methodol..

[53]  Richard C. Holt,et al.  Exploring software evolution using spectrographs , 2004, 11th Working Conference on Reverse Engineering.

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

[55]  Lucian Voinea,et al.  CVSscan: visualization of code evolution , 2005, SoftVis '05.

[56]  Wolfgang Emmerich,et al.  BOX: Browsing objects in XML , 2000, Softw. Pract. Exp..

[57]  Michele Lanza,et al.  Reverse Engineering Super-Repositories , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[58]  Stephen G. Eick,et al.  Seesoft-A Tool For Visualizing Line Oriented Software Statistics , 1992, IEEE Trans. Software Eng..

[59]  Martin Wattenberg,et al.  ManyEyes: a Site for Visualization at Internet Scale , 2007, IEEE Transactions on Visualization and Computer Graphics.

[60]  Emden R. Gansner,et al.  REportal: a Web-based portal site for reverse engineering , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[61]  Malcolm Munro,et al.  Revision Towers , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[62]  Jens Knodel,et al.  Static evaluation of software architectures , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

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