Software Visualization Using Hierarchical Edge Bundles and Massive Sequence Views Danny Holten and Jarke J. van Wijk Eindhoven University of Technology.

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Unified Modeling Language
Quadtrees, Octrees and their Applications in Digital Image Processing
Abstract Syntax Tree Rendering Noah Brickman CMPS 203.
Object-Oriented Analysis and Design
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
Visual Realism for the Visualization of Software Metrics & Visualizing Relations in Hierarchical Data using Spline Bundles Danny Holten Reconstructor.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Quadtrees, Octrees and their Applications in Digital Image Processing
The Need for Packages How do you break down a large system into smaller systems? Structured methods use functional decomposition Functions represent something.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 Program Comprehension through Dynamic Analysis Visualization, evaluation, and a survey Bas Cornelissen (et al.) Delft University of Technology IPA Herfstdagen,
CPSC 371/872 UML / SysML Modeling J. YATES MONTEITH, CLEMSON UNIVERSITY, FALL 2014.
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Class, Sequence and UML Model.  Has actors and use cases.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
Unified Modeling Language, Version 2.0
Fall 2002CS/PSY Information Visualization Picture worth 1000 words... Agenda Information Visualization overview  Definition  Principles  Examples.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Visual Analysis of Hierarchical Management Data Zhao Geng 1, Gaurav Gathania 2, Robert S.Laramee 1 and ZhenMin Peng 1 1 Visual Computing Group, Computer.
Quadtrees, Octrees and their Applications in Digital Image Processing.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
SEMINAR WEI GUO. Software Visualization in the Large.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal Extracting Sequence Diagrams from Execution Traces using Interactive Visualization.
C. Lawrence Zitnick Microsoft Research, Redmond Devi Parikh Virginia Tech Bringing Semantics Into Focus Using Visual.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Lab 5 CPIT 250 System Analysis and Design.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Visualizing Large Dynamic Digraphs Michael Burch.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
Visualization Four groups Design pattern for information visualization
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
4+1 View Model of Software Architecture
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
UML Chapter 17.
UML Diagrams By Daniel Damaris Novarianto S..
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Evolution of UML.
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Information Visualization Picture worth 1000 words...
Architecture Competency Group
On the notion of Variability in Software Product Lines
Presentation transcript:

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

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

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

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

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

HEB’s – Data to Visualize

HEBs – Main Idea

Sequence Diagrams  Interaction between system components  Calls time-ordered along vertical axis  Do not scale well due to graphical depiction

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)

Importance-Based Anti-Aliasing

Integration of Multiple Views: ExtraVis

Final Remarks on ExtraVis  Limitations  Performance diminishes above calls  Large traces demand a lot of computational resources  Threads not (yet) supported  Project Location  and  (more info on HEBs as well)  Tool download  High-resolution screenshots

Visual Comparison of Hierarchically Organized Data Using Hierarchical Edge Bundles

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

Visualization Problem  Show both trees… 15

Visualization Problem  Show both trees… 16

Visualization Problem  …and correspondence between trees 17

Visualization Problem  Improvement: icicle plots with straightened leafs 18

Visualization Problem  Basic visualization using straight lines 19

Crossing Reduction 20

Crossing Reduction 21

Crossing Reduction 22

Crossing Reduction 23

Crossing Reduction 24

Crossing Reduction 25

Crossing Reduction 26

Crossing Reduction 27

Crossing Reduction 28

Crossing Reduction 29

Hierarchical Edge Bundles  Introduce HEBs to replace straight lines  “Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data”, IEEE InfoVis

Hierarchical Edge Bundles  Bundling edges using the available hierarchy  “Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data”, IEEE InfoVis

Hierarchical Edge Bundles  Tree structures are “mirrored” to the center to provide HEB guides 32

Hierarchical Edge Bundles  Different bundling strengths can be chosen 33

Hierarchical Edge Bundles  Bundling controllable per hierarchy level 34

Program Demo

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

Questions?