Download presentation
Presentation is loading. Please wait.
Published byMicaela Benn Modified over 9 years ago
1
Software Visualization Using Hierarchical Edge Bundles and Massive Sequence Views Danny Holten and Jarke J. van Wijk Eindhoven University of Technology Technische Universiteit Eindhoven May 13, 2009 Eindhoven
2
Motivation Program Comprehension Purpose: maintenance, change requests Challenge: static and/or dynamic analysis Challenge: scalable visualization Dynamic Analysis Accurate picture of what is actually happening Late binding Object identities Execution Traces Execution of a (feature) scenario
3
Problem Statement Visualization – Properties Many structural elements Many interrelationships Typically: UML Sequence Diagrams (SD’s) Visualization – Purpose Exploration, feature location, and understanding Straightforward Approaches Do not suffice SD’s: too much scrolling, too much wasted space
4
Novel Visualization Approach Combination of Two Views Bundle view based on previous work Generalization of SD’s Hierarchical Edge Bundles (HEB’s) Visualize relations as bundles on top of hierarchy Massive Sequence View (MSV) Show order of calls as SD’s with improved scaling
5
HEBs – Data to Visualize Hierarchy Tree structure extracted from program For Java: Package – Class – Method Analogous for other languages Adjacency Relations Class-to-class calls Method-to-method, package-to-package… Analogous for other languages
6
HEB’s – Data to Visualize
7
HEBs – Main Idea
8
Sequence Diagrams Interaction between system components Calls time-ordered along vertical axis Do not scale well due to graphical depiction
9
Massive Sequence View Interaction between system components Calls time-ordered along vertical axis Scales well due to improved graphical depiction and rendering (IBAA) Zoomable (Level-of-Detail)
10
Importance-Based Anti-Aliasing
11
Integration of Multiple Views: ExtraVis
12
Final Remarks on ExtraVis Limitations Performance diminishes above 500.000 calls Large traces demand a lot of computational resources Threads not (yet) supported Project Location http://swerl.tudelft.nl/extravis and http://www.win.tue.nl/~dholten (more info on HEBs as well) Tool download High-resolution screenshots
13
Visual Comparison of Hierarchically Organized Data Using Hierarchical Edge Bundles
14
Why Compare Trees? Understand relationship between trees High-level overview of correspondence / differences Splits, joins, relocations of substructures Elements unique to each tree Various areas: evolutionary biology, HR & personnel, software development Software development Quickly gain insight in software architecture Overview of differences and similarities between versions Identify code reorganization 14
15
Visualization Problem Show both trees… 15
16
Visualization Problem Show both trees… 16
17
Visualization Problem …and correspondence between trees 17
18
Visualization Problem Improvement: icicle plots with straightened leafs 18
19
Visualization Problem Basic visualization using straight lines 19
20
Crossing Reduction 20
21
Crossing Reduction 21
22
Crossing Reduction 22
23
Crossing Reduction 23
24
Crossing Reduction 24
25
Crossing Reduction 25
26
Crossing Reduction 26
27
Crossing Reduction 27
28
Crossing Reduction 28
29
Crossing Reduction 29
30
Hierarchical Edge Bundles Introduce HEBs to replace straight lines “Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data”, IEEE InfoVis 2006 30
31
Hierarchical Edge Bundles Bundling edges using the available hierarchy “Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data”, IEEE InfoVis 2006 31
32
Hierarchical Edge Bundles Tree structures are “mirrored” to the center to provide HEB guides 32
33
Hierarchical Edge Bundles Different bundling strengths can be chosen 33
34
Hierarchical Edge Bundles Bundling controllable per hierarchy level 34
35
Program Demo
36
Final Remarks on Tree Comparison Advantageous features High-level overview of correspondence Hierarchies are sorted to facilitate comparison Bundling controllable per hierarchy level Direct interaction with correspondence using “crossing” Disadvantages Bundling can obscure individual relations Availability/generation of matching list necessary Non-atomicity of matching elements (granularity problem) 36
37
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.