Simultaneous Visual Analysis of Multiple Software Hierarchies

We propose a tree visualization technique for comparison of structures and attributes across multiple hierarchies. Many software systems are structured hierarchically by design. For example, developers subdivide source code into libraries, modules, and functions. This design propagates to software configuration and business processes, rendering software hierarchies even more important. Often these structural elements are attributed with reference counts, code quality metrics, and the like. Throughout the entire software life cycle, these hierarchies are reviewed, integrated, debugged, and changed many times by different people so that the identity of a structural element and its attributes is not clearly traceable. We argue that pairwise comparison of similar trees is a tedious task due to the lack of overview, especially when applied to a large number of hierarchies. Therefore, we strive to visualize multiple similar trees as a whole by merging them into one supertree. To merge structures and combine attributes from different trees, we leverage the Jaccard similarity and solve a matching problem while keeping track of the origin of a structure element and its attributes. Our visualization approach allows users to inspect these supertrees using node-link diagrams and indented tree plots. The nodes in these plots depict aggregated attributes and, using word-sized line plots, detailed data. We demonstrate the usefulness of our method by exploring the evolution of software repositories and debugging data processing pipelines using provenance data.

[1]  Rajasekar Krishnamurthy,et al.  HIL: a high-level scripting language for entity integration , 2013, EDBT '13.

[2]  Heidrun Schumann,et al.  The Design Space of Implicit Hierarchy Visualization: A Survey , 2011, IEEE Transactions on Visualization and Computer Graphics.

[3]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[4]  Daniel Weiskopf,et al.  Bubble Treemaps for Uncertainty Visualization , 2018, IEEE Transactions on Visualization and Computer Graphics.

[5]  Chanchal K. Roy,et al.  A Survey on Software Clone Detection Research , 2007 .

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

[7]  Silvia Miksch,et al.  Visual Encodings of Temporal Uncertainty: A Comparative User Study , 2016, IEEE Transactions on Visualization and Computer Graphics.

[8]  Stefan Biffl,et al.  PlanningLines: novel glyphs for representing temporal uncertainties and their evaluation , 2005, Ninth International Conference on Information Visualisation (IV'05).

[9]  W. Hays Semiology of Graphics: Diagrams Networks Maps. , 1985 .

[10]  Johan A. Pouwelse,et al.  Understanding software performance regressions using differential flame graphs , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[11]  Martin Graham,et al.  A Survey of Multiple Tree Visualisation , 2010, Inf. Vis..

[12]  Jürgen Döllner,et al.  Understanding complex multithreaded software systems by using trace visualization , 2010, SOFTVIS '10.

[13]  Thomas Ertl,et al.  Visual Exploration of Memory Traces and Call Stacks , 2017, 2017 IEEE Working Conference on Software Visualization (VISSOFT).

[14]  Sheryl Staub-French,et al.  Comparative visualization of construction schedules , 2013 .

[15]  L. S. Shapley,et al.  College Admissions and the Stability of Marriage , 2013, Am. Math. Mon..

[16]  Jessica Hullman,et al.  Why Evaluating Uncertainty Visualization is Error Prone , 2016, BELIV '16.

[17]  Thomas Ertl,et al.  Uncertainty Visualization for Secondary Structures of Proteins , 2018, 2018 IEEE Pacific Visualization Symposium (PacificVis).

[18]  Jonathan C. Roberts,et al.  Visual comparison for information visualization , 2011, Inf. Vis..

[19]  Matthias Hauswirth,et al.  Trevis: a context tree visualization & analysis framework and its use for classifying performance failure reports , 2010, SOFTVIS '10.

[20]  Alexandru Telea,et al.  Multiscale visual comparison of execution traces , 2013, 2013 21st International Conference on Program Comprehension (ICPC).

[21]  Christian S. Collberg,et al.  A system for graph-based visualization of the evolution of software , 2003, SoftVis '03.

[22]  Tobias Isenberg,et al.  Evaluating Sketchiness as a Visual Variable for the Depiction of Qualitative Uncertainty , 2012, IEEE Transactions on Visualization and Computer Graphics.

[23]  Michael Burch,et al.  A Scalable Visualization for Dynamic Data in Software System Hierarchies , 2017, 2017 IEEE Working Conference on Software Visualization (VISSOFT).

[24]  Holger Stitz,et al.  TACO: Visualizing Changes in Tables Over Time , 2018, IEEE Transactions on Visualization and Computer Graphics.

[25]  Pável Calado,et al.  An Overview of XML Duplicate Detection Algorithms , 2010, Soft Computing in XML Data Management.

[26]  Dario Colazzo,et al.  Schema Inference for Massive JSON Datasets , 2017, EDBT.

[27]  Jürgen Döllner,et al.  SYNCTRACE: Visual thread-interplay analysis , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[28]  Michael Burch,et al.  Evaluation of Traditional, Orthogonal, and Radial Tree Diagrams by an Eye Tracking Study , 2011, IEEE Transactions on Visualization and Computer Graphics.

[29]  Philip Bille,et al.  A survey on tree edit distance and related problems , 2005, Theor. Comput. Sci..

[30]  David H. Laidlaw,et al.  Representing Uncertainty in Graph Edges: An Evaluation of Paired Visual Variables , 2015, IEEE Transactions on Visualization and Computer Graphics.

[31]  Melanie Herschel,et al.  Provenance for Entity Resolution , 2018, IPAW.

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

[33]  Sean A. Munson,et al.  When (ish) is My Bus?: User-centered Visualizations of Uncertainty in Everyday, Mobile Predictive Systems , 2016, CHI.

[34]  Mark Gahegan,et al.  Visual Semiotics & Uncertainty Visualization: An Empirical Study , 2012, IEEE Transactions on Visualization and Computer Graphics.

[35]  Michael Gleicher,et al.  Error Bars Considered Harmful: Exploring Alternate Encodings for Mean and Error , 2014, IEEE Transactions on Visualization and Computer Graphics.

[36]  Lisa Stryjewski,et al.  40 years of boxplots , 2010 .

[37]  Fabian Beck,et al.  Figure 5 from: Sancho-Chavarria L, Beck F, Weiskopf D, Mata-Montero E (2018) Task-based assessment of visualization tools for the comparison of biological taxonomies. Research Ideas and Outcomes 4: e25742. https://doi.org/10.3897/rio.4.e25742 , 2018 .

[38]  Jürgen Döllner,et al.  ViewFusion: Correlating Structure and Activity Views for Execution Traces , 2012, TPCG.

[39]  Ken Brodlie,et al.  A Review of Uncertainty in Data Visualization , 2012, Expanding the Frontiers of Visual Analytics and Visualization.

[40]  Alexandre Bergel,et al.  Performance evolution blueprint: Understanding the impact of software evolution on performance , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[41]  Roland H. C. Yap,et al.  Visualizing windows system traces , 2010, SOFTVIS '10.

[42]  Melanie Herschel,et al.  A survey on provenance: What for? What form? What from? , 2017, The VLDB Journal.

[43]  Michael J. McGuffin,et al.  Quantifying the Space-Efficiency of 2D Graphical Representations of Trees , 2010, Inf. Vis..

[44]  Felix Naumann,et al.  XStruct: Efficient Schema Extraction from Multiple and Large XML Documents , 2006, 22nd International Conference on Data Engineering Workshops (ICDEW'06).

[45]  Fabian Beck,et al.  Navigate, Understand, Communicate: How Developers Locate Performance Bugs , 2015, 2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM).

[46]  Kwan-Liu Ma,et al.  A framework for uncertainty-aware visual analytics , 2009, 2009 IEEE Symposium on Visual Analytics Science and Technology.

[47]  Robert W. Irving Stable Marriage and Indifference , 1994, Discret. Appl. Math..

[48]  Nicholas Chen,et al.  TreeJuxtaposer : Scalable Tree Comparison using Focus + Context with Guaranteed Visibility , 2006 .

[49]  Phokion G. Kolaitis,et al.  Interactive generation of integrated schemas , 2008, SIGMOD Conference.