Visualization of Graphs and Trees for Software Analysis

A software architecture is an abstraction of a software system, which is indispensable for many software engineering tasks. Unfortunately, in many cases information pertaining to the software architecture is not available, outdated, or inappropriate for the task at hand. The RECONSTRUCTOR project focuses on software architecture reconstruction, i.e., obtaining architectural information from an existing system. Our research, which is part of RECONSTRUCTOR, focuses on interactive visualization and tries to answer the following question: How can users be enabled to understand the large amounts of information relevant for program understanding using visual representations? To answer this question, we have iteratively developed a number of techniques for visualizing software systems. A large number of these cases consists of hierarchically organized data, combined with adjacency relations. Examples are function calls within a hierarchically organized software system and correspondence relations between two different versions of a hierarchically organized software system. Hierarchical Edge Bundles (HEBs) are used to visualize adjacency relations in hierarchically organized data, such as the aforementioned function calls within a software system. HEBs significantly reduce visual clutter by visually bundling relations together. Massive Sequence Views (MSVs) are used in conjunction with HEBs to enable analysis of sequences of relations, such as function-call traces. HEBs are furthermore used to visually compare hierarchically organized data, e.g., two different versions of a software system. HEBs visually emphasize splits, joins, and relocations of subhierarchies and provide for interactive selection of sets of relations. Since HEBs require a hierarchy to perform the bundling, we present Force-Directed Edge Bundles (FDEBs) as an alternative to visually bundle relations together in the absence of a hierarchical component. FDEBs use a self-organizing approach to bundling in which edges are modeled as flexible springs that can attract each other. As a result, visual clutter is reduced and high-level edge patterns are better visible. Finally, in all these methods, a clear depiction of the direction of edges is important. We have therefore performed a separate study in which we evaluated ten representations (including the standard arrow) for depicting directed edges in a controlled user study.

[1]  Ramana Rao,et al.  The Hyperbolic Browser: A Focus + Context Technique for Visualizing Large Hierarchies , 1996, J. Vis. Lang. Comput..

[2]  James Abello,et al.  ASK-GraphView: A Large Scale Graph Visualization System , 2006, IEEE Transactions on Visualization and Computer Graphics.

[3]  Jean-Daniel Fekete,et al.  Overlaying Graph Links on Treemaps , 2003 .

[4]  Tamara Munzner,et al.  PRISAD: a partitioned rendering infrastructure for scalable accordion drawing (extended version) , 2006 .

[5]  Emek Demir,et al.  A Compound Graph Layout Algorithm for Biological Pathways , 2004, GD.

[6]  E. Burton Swanson,et al.  The dimensions of maintenance , 1976, ICSE '76.

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

[8]  Stephan Diehl,et al.  Software Visualization - Visualizing the Structure, Behaviour, and Evolution of Software , 2007 .

[9]  Marcus Raitner,et al.  Visual Navigation of Compound Graphs , 2004, GD.

[10]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[11]  George W. Furnas,et al.  Multitrees: enriching and reusing hierarchical structure , 1994, CHI '94.

[12]  Marc Roper,et al.  A novel software visualisation model to support software comprehension , 2004, 11th Working Conference on Reverse Engineering.

[13]  Michael Gleicher,et al.  The challenges of 3D interaction: a CHI '94 workshop , 1994, SGCH.

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

[15]  Linda G. Shapiro,et al.  A Model Browser for Biosimulation , 2007, AMIA.

[16]  Edward M. Reingold,et al.  Tidier Drawings of Trees , 1981, IEEE Transactions on Software Engineering.

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

[18]  Jock D. Mackinlay,et al.  Information visualization using 3D interactive animation , 1991, CHI.

[19]  M. Sheelagh T. Carpendale,et al.  VisLink: Revealing Relationships Amongst Visualizations , 2007, IEEE Transactions on Visualization and Computer Graphics.

[20]  Alexandru Telea,et al.  Multiscale Visualization of Dynamic Software Logs , 2007, EuroVis.

[21]  Mary Czerwinski,et al.  CandidTree: visualizing structural uncertainty in similar hierarchies , 2007, Inf. Vis..

[22]  Mark Sifer Filter co-ordinations for exploring multi-dimensional data , 2006, J. Vis. Lang. Comput..

[23]  Pak Chung Wong,et al.  Dynamic visualization of graphs with extended labels , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[24]  Colin Ware Designing with a 2 1/2-D Attitude , 2001 .

[25]  Mirka Miller,et al.  An Algorithm for Drawing Compound Graphs , 1999, GD.

[26]  Yehuda Koren,et al.  Improved Circular Layouts , 2006, GD.

[27]  Philippe Castagliola,et al.  A Comparison of the Readability of Graphs Using Node-Link and Matrix-Based Representations , 2004, IEEE Symposium on Information Visualization.

[28]  Doug Kimelman,et al.  Visualizing the behavior of object-oriented systems , 1993, OOPSLA '93.

[29]  G. Lommerse,et al.  The visual code navigator: an interactive toolset for source code investigation , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[30]  J.A. Gomez,et al.  Locating user functionality in old code , 1992, Proceedings Conference on Software Maintenance 1992.

[31]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[32]  Toon Calders,et al.  Applying Webmining techniques to execution traces to support the program comprehension process , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[33]  Andy Zaidman,et al.  Scalability solutions for program comprehension through dynamic analysis , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[34]  John T. Stasko,et al.  The information mural: a technique for displaying and navigating large information spaces , 1995, Proceedings of Visualization 1995 Conference.

[35]  A. vanDeursen,et al.  Aiding in the comprehension of testsuites , 2006 .

[36]  A BowmanDoug,et al.  An Introduction to 3-D User Interface Design , 2001 .

[37]  Jan Friso Groote,et al.  Interactive visualization of large state spaces , 2005, International Journal on Software Tools for Technology Transfer.

[38]  Kim Marriott,et al.  Integrating Edge Routing into Force-Directed Layout , 2006, GD.

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

[40]  Bernard Kerr Thread Arcs: an email thread visualization , 2003, IEEE Symposium on Information Visualization 2003 (IEEE Cat. No.03TH8714).

[41]  Peter A. Dearnley Evolutionary Systems Development: A Practical Guide to the Use of Prototyping within a Structured Systems Methodology , 1992 .

[42]  L. Erlikh,et al.  Leveraging legacy system dollars for e-business , 2000 .

[43]  Michele Lanza,et al.  Visualizing Software Systems as Cities , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[44]  Michael Kern,et al.  3D visualisation of code structures in Java software systems , 2006, SoftVis '06.

[45]  Tamara Munzner,et al.  Cerebral: a Cytoscape plugin for layout of and interaction with biological networks using subcellular localization annotation , 2007, Bioinform..

[46]  Jarke J. van Wijk,et al.  Trace Visualization Using Hierarchical Edge Bundles and Massive Sequence Views , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[47]  Andrian Marcus,et al.  A task oriented view of software visualization , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[48]  Hong Zhou,et al.  Controllable and Progressive Edge Clustering for Large Networks , 2006, Graph Drawing.

[49]  Mark H. Chignell,et al.  Elastic hierarchies: combining treemaps and node-link diagrams , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[50]  John T. Stasko,et al.  Empirically evaluating the use of animations to teach algorithms , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[51]  Andy Cockburn,et al.  Evaluating the effectiveness of spatial memory in 2D and 3D physical and virtual environments , 2002, CHI.

[52]  Gail C. Murphy,et al.  Scaling an object-oriented system execution visualizer through sampling , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[53]  Ivan Herman,et al.  Graph Visualization and Navigation in Information Visualization: A Survey , 2000, IEEE Trans. Vis. Comput. Graph..

[54]  Arie van Deursen,et al.  Understanding Execution Traces Using Massive Sequence and Circular Bundle Views , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[55]  Hiroshi Nagamochi,et al.  Straight-Line Drawing Algorithms for Hierarchical Graphs and Clustered Graphs , 1996, Algorithmica.

[56]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[57]  B. Barsky The beta-spline: a local representation based on shape parameters and fundamental geometric measures , 1981 .

[58]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

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

[60]  Daniel M. Germán,et al.  Visualizing the Evolution of Software Using Softchange , 2006, Int. J. Softw. Eng. Knowl. Eng..

[61]  Richard W. Vuduc,et al.  Communicating Software Architecture using a Unified Single-View Visualization , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[62]  Guy Melançon,et al.  Just how dense are dense graphs in the real world?: a methodological note , 2006, BELIV '06.

[63]  David H. Laidlaw,et al.  Thoughts on User Studies: Why, How and When , 1993 .

[64]  David Harel,et al.  A fast multi-scale method for drawing large graphs , 2000, AVI '00.

[65]  Jason Baumgartner,et al.  Treemap, Radial Tree, and 3D Tree Visualizations , 2003 .

[66]  Alan J. Dix,et al.  A Taxonomy of Clutter Reduction for Information Visualisation , 2007, IEEE Transactions on Visualization and Computer Graphics.

[67]  Meir M. Lehman,et al.  Software's future: managing evolution , 1998, IEEE Software.

[68]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[69]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[70]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

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

[72]  David Eppstein,et al.  Delta-Confluent Drawings , 2005, Graph Drawing.

[73]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[74]  Adrian Kuhn,et al.  Exploiting the Analogy Between Traces and Signal Processing , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[75]  Gregor Kiczales,et al.  Using aspectC to improve the modularity of path-specific customization in operating system code , 2001, ESEC/FSE-9.

[76]  Jarke J. van Wijk,et al.  Visualization of State Transition Graphs , 2001, INFOVIS.

[77]  R. J. A. Buhr,et al.  Use Case Maps for Object-Oriented Systems , 1995 .

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

[79]  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..

[80]  Colin Ware,et al.  Information Visualization: Perception for Design , 2000 .

[81]  Edward M. Reingold,et al.  Graph drawing by force‐directed placement , 1991, Softw. Pract. Exp..

[82]  Alexandru Telea,et al.  SQuAVisiT: A Software Quality Assessment and Visualisation Toolset , 2007, Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2007).

[83]  O. Reiser,et al.  Principles Of Gestalt Psychology , 1936 .

[84]  William J. Schroeder,et al.  The Visualization Toolkit , 2005, The Visualization Handbook.

[85]  David Harel,et al.  Drawing Huge Graphs by Algebraic Multigrid Optimization , 2003, Multiscale Model. Simul..

[86]  Chris North,et al.  Toward measuring visualization insight , 2006, IEEE Computer Graphics and Applications.

[87]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[88]  Thomas M. Pigoski Practical Software Maintenance: Best Practices for Managing Your Software Investment , 1996 .

[89]  Andreas Winter,et al.  An Overview of the GXL Graph Exchange Language , 2001, Software Visualization.

[90]  Colin Ware,et al.  Supporting Visual Queries on Medium-Sized Node–Link Diagrams , 2005, Inf. Vis..

[91]  C. R. Deboor,et al.  A practical guide to splines , 1978 .

[92]  Yvonne Rogers,et al.  External cognition: how do graphical representations work? , 1996, Int. J. Hum. Comput. Stud..

[93]  John T. Stasko,et al.  Please address correspondence to , 2000 .

[94]  Janice Singer,et al.  Hipikat: a project memory for software development , 2005, IEEE Transactions on Software Engineering.

[95]  Daniel A. Keim,et al.  Challenges in Visual Data Analysis , 2006, Tenth International Conference on Information Visualisation (IV'06).

[96]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[97]  Jürgen Ziegler,et al.  Visualizing and exploring large networked information spaces with matrix browser , 2002, Proceedings Sixth International Conference on Information Visualisation.

[98]  Stéphane Ducasse,et al.  Using dynamic information for the iterative recovery of collaborations and roles , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[99]  Jarke J. van Wijk,et al.  Visual Realism for the Visualization of Software Metrics , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[100]  Daniel A. Keim,et al.  Visualizing large-scale IP traffic flows , 2007, VMV.

[101]  Jarke J. van Wijk,et al.  Squarified Treemaps , 2000, VisSym.

[102]  Tim Dwyer,et al.  Optimal Leaf Ordering for Two and a Half Dimensional Phylogenetic Tree Visualisation , 2004, InVis.au.

[103]  Ivan Poupyrev,et al.  An Introduction to 3-D User Interface Design , 2001, Presence: Teleoperators & Virtual Environments.

[104]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[105]  Marin Litoiu,et al.  SHriMP views: an interactive environment for information visualization and navigation , 2002, CHI Extended Abstracts.

[106]  Jürgen Ziegler,et al.  Matrix browser: visualizing and exploring large networked information spaces , 2002, CHI Extended Abstracts.

[107]  Serdar Tasiran,et al.  TreeJuxtaposer: scalable tree comparison using Focus+Context with guaranteed visibility , 2003, ACM Trans. Graph..

[108]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[109]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[110]  Michael Kaufmann,et al.  Drawing graphs: methods and models , 2001 .

[111]  Jean-Daniel Fekete,et al.  NodeTrix: a Hybrid Visualization of Social Networks , 2007, IEEE Transactions on Visualization and Computer Graphics.

[112]  Mark N. Wegman,et al.  Execution Patterns in Object-Oriented Visualization , 1998, COOTS.

[113]  Sheelagh Carpendale,et al.  Interactive Poster: Using Edge Plucking for Interactive Graph Exploration , 2005 .

[114]  Martin Wattenberg,et al.  Arc diagrams: visualizing structure in strings , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[115]  Andy Zaidman,et al.  Managing trace data volume through a heuristical clustering process based on event execution frequency , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[116]  Jarke J. van Wijk,et al.  A perceptually based spectral model for isotropic textures , 2006, TAP.

[117]  Yehuda Koren,et al.  Graph Drawing by Stress Majorization , 2004, GD.

[118]  Manos Reniers,et al.  ALMOST: Exploring Program Traces , 1999, Workshop on New Paradigms in Information Visualization and Manipulation.

[119]  Edsger W. Dijkstra,et al.  The humble programmer , 1972, CACM.

[120]  Richard W. Selby Software Engineering: Barry W. Boehm's Lifetime Contributions to Software Development, Management, and Research , 2007 .

[121]  Emden R. Gansner,et al.  Graphviz and Dynagraph – Static and Dynamic Graph Drawing Tools , 2003 .

[122]  Mao Lin Huang,et al.  A space-optimized tree visualization , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[123]  Lucian Voinea,et al.  Mining software repositories with CVSgrab , 2006, MSR '06.

[124]  Ben Shneiderman,et al.  Tree visualization with tree-maps: 2-d space-filling approach , 1992, TOGS.

[125]  Michael L. Nelson A Survey of Reverse Engineering and Program Comprehension , 2005, ArXiv.

[126]  Kozo Sugiyama,et al.  Visualization of structural information: automatic drawing of compound digraphs , 1991, IEEE Trans. Syst. Man Cybern..

[127]  Daniel Amyot,et al.  Recovering behavioral design models from execution traces , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[128]  M. Sheelagh T. Carpendale,et al.  Interactive Tree Comparison for Co-located Collaborative Information Visualization , 2007, IEEE Transactions on Visualization and Computer Graphics.

[129]  Nihar Sheth,et al.  InfoVis 2003 Contest Submission: Visualization and Pair Wise Comparison of Trees Treemap, Radial Tree, and 3D Tree Visualizations , 2003 .

[130]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[131]  Anneliese Amschler Andrews,et al.  Program Comprehension During Software Maintenance and Evolution , 1995, Computer.

[132]  Ken Brodlie,et al.  Gaining understanding of multivariate and multidimensional data through visualization , 2004, Comput. Graph..

[133]  Stephen H. Edwards,et al.  Algorithm visualization: a report on the state of the field , 2007, SIGCSE.

[134]  Hausi A. Müller,et al.  Rigi: A Visualization Environment for Reverse Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[135]  Arie van Deursen,et al.  Viewpoints in Software Architecture Reconstruction , .

[136]  Ben Shneiderman,et al.  Readings in information visualization - using vision to think , 1999 .

[137]  Arie van Deursen,et al.  Symphony: view-driven software architecture reconstruction , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[138]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[139]  Jarke J. van Wijk,et al.  Cushion Treemaps: Visualization of Hierarchical Information , 1999, INFOVIS.

[140]  Catherine Plaisant,et al.  SpaceTree: supporting exploration in large node link tree, design evolution and empirical evaluation , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[141]  David Eppstein,et al.  Journal of Graph Algorithms and Applications Confluent Drawings: Visualizing Non-planar Diagrams in a Planar Way , 2022 .

[142]  Brian Randell,et al.  Software engineering : report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968 , 1969 .

[143]  Roderic D. M. Page,et al.  Tangled trees : phylogeny, cospeciation, and coevolution , 2003 .

[144]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[145]  Michael Jünger,et al.  Journal of Graph Algorithms and Applications 2-layer Straightline Crossing Minimization: Performance of Exact and Heuristic Algorithms , 2022 .

[146]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[147]  J.T. Stasko,et al.  Tango: a framework and system for algorithm animation , 1990, Computer.

[148]  Frank van Ham,et al.  Using multilevel call matrices in large software projects , 2003, IEEE Symposium on Information Visualization 2003 (IEEE Cat. No.03TH8714).

[149]  James F. Blinn,et al.  Simulation of wrinkled surfaces , 1978, SIGGRAPH.

[150]  Victor R. Basili,et al.  Evolving and packaging reading technologies , 1997, J. Syst. Softw..

[151]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[152]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[153]  Steven P. Reiss,et al.  Encoding program executions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[154]  Martin Graham,et al.  Extending Taxonomic Visualisation to Incorporate Synonymy and Structural Markers , 2005, Inf. Vis..

[155]  Satoru Kawai,et al.  An Algorithm for Drawing General Undirected Graphs , 1989, Inf. Process. Lett..

[156]  Lionel C. Briand,et al.  Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software , 2006, IEEE Transactions on Software Engineering.

[157]  Chaomei Chen,et al.  Top 10 Unsolved Information Visualization Problems , 2005, IEEE Computer Graphics and Applications.

[158]  Pourang Irani,et al.  Diagramming information structures using 3D perceptual primitives , 2003, TCHI.

[159]  M. Sheelagh T. Carpendale,et al.  ArcTrees: Visualizing Relations in Hierarchical Data , 2005, EuroVis.

[160]  Dennis B. Smith,et al.  Towards a framework for program understanding , 1996, WPC '96. 4th Workshop on Program Comprehension.

[161]  Kristin A. Cook,et al.  Illuminating the Path: The Research and Development Agenda for Visual Analytics , 2005 .

[162]  Tamara Munzner,et al.  H3: laying out large directed graphs in 3D hyperbolic space , 1997, Proceedings of VIZ '97: Visualization Conference, Information Visualization Symposium and Parallel Rendering Symposium.

[163]  Sougata Mukherjea,et al.  Applying algorithm animation techniques for program tracing, debugging, and understanding , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[164]  P. Hanrahan,et al.  Flow map layout , 2005, IEEE Symposium on Information Visualization, 2005. INFOVIS 2005..

[165]  H. Wainer,et al.  An Empirical Inquiry concerning Human Understanding of Two-Variable Color Maps , 1980 .

[166]  Danny B. Lange,et al.  Object-Oriented Program Tracing and Visualization , 1997, Computer.

[167]  Paul W. Oman,et al.  Using metrics to evaluate software system maintainability , 1994, Computer.

[168]  P. John Clarkson,et al.  Matrices or Node-Link Diagrams: Which Visual Representation is Better for Visualising Connectivity Models? , 2006, Inf. Vis..

[169]  Hausi A. Müller,et al.  Shimba—an environment for reverse engineering Java software systems , 2001, Softw. Pract. Exp..

[170]  M. Sheelagh T. Carpendale,et al.  Edgelens: an interactive method for managing edge congestion in graphs , 2003, IEEE Symposium on Information Visualization 2003 (IEEE Cat. No.03TH8714).

[171]  Andrian Marcus,et al.  Source Viewer 3D (sv3D) - a framework for software visualization , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[172]  Nick Mitchell,et al.  Visualizing the Execution of Java Programs , 2001, Software Visualization.

[173]  Ayellet Tal,et al.  Multi-Level Graph Layout on the GPU , 2007, IEEE Transactions on Visualization and Computer Graphics.

[174]  Arie van Deursen,et al.  Visualizing Testsuites to Aid in Software Understanding , 2006, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[175]  Han-Wei Shen,et al.  Visualizing Changes of Hierarchical Data using Treemaps , 2007, IEEE Transactions on Visualization and Computer Graphics.