Tree-Maps and SeeSys are space-filling visualization approaches for hierarchical information and software metrics. Tree-Maps represent hierarchies as nested rectangles, using area to represent importance. SeeSys visualizes software metrics like size, activity level, and bugs within a code's hierarchical structure as colored rectangles. Both approaches aim to efficiently use space, enable comparison of components, and help comprehension through an overview of the whole structure and relationships between parts.
Introduction to ArtificiaI Intelligence in Higher Education
Tree-Maps Visualize Hierarchies in Space
1. Tree-Maps: A Space-FillingTree-Maps: A Space-Filling
Approach to the Visualization ofApproach to the Visualization of
Hierarchical Information StructuresHierarchical Information Structures
Presented by:Presented by:
Daniel Loewus-DeitchDaniel Loewus-Deitch
2. IntroductionIntroduction
Novel method for visualizing hierarchies.Novel method for visualizing hierarchies.
– Makes 100% use of available spaceMakes 100% use of available space
Maps the full hierarchy onto the screen inMaps the full hierarchy onto the screen in
a “space-filling manner.”a “space-filling manner.”
– Called Tree-MapsCalled Tree-Maps
Interactive ControlInteractive Control
– Allows users to specify presentation of bothAllows users to specify presentation of both
structural and content informationstructural and content information
3. IntroductionIntroduction
Sections of hierarchy with more importantSections of hierarchy with more important
information are allocated more display space.information are allocated more display space.
Collection of rectangular boxes represent theCollection of rectangular boxes represent the
tree structure.tree structure.
Best suited to hierarchies whereBest suited to hierarchies where
– The content of the leaf nodes and the structure of theThe content of the leaf nodes and the structure of the
hierarchy are most important.hierarchy are most important.
– The content information associated with internalThe content information associated with internal
nodes is largely derived from their children.nodes is largely derived from their children.
5. MotivationMotivation
(Problems with Current Methods)(Problems with Current Methods)
Traditional methods for displayingTraditional methods for displaying
hierarchies can be classified into 3hierarchies can be classified into 3
categories:categories:
– ListingsListings
– OutlinesOutlines
– Tree diagramsTree diagrams
6. ListingsListings
Can provide detailed content information.Can provide detailed content information.
Present structural information poorly.Present structural information poorly.
– Requires users to parse path information andRequires users to parse path information and
move manually through the hierarchy to get amove manually through the hierarchy to get a
real idea of its structure.real idea of its structure.
7. OutlinesOutlines
Can nicely provide both structural andCan nicely provide both structural and
content.content.
Structure can only be viewed a few linesStructure can only be viewed a few lines
at a time.at a time.
Inadequate for displaying a hierarchicalInadequate for displaying a hierarchical
structure with more than a few hundredstructure with more than a few hundred
nodes.nodes.
8. Tree DiagramsTree Diagrams
Excellent for small structures.Excellent for small structures.
Make poor use of available display space.Make poor use of available display space.
– Too much space used up for background.Too much space used up for background.
Little content information.Little content information.
– Presenting additional information clutters thePresenting additional information clutters the
display space.display space.
9. Why Tree-Maps are a goodWhy Tree-Maps are a good
alternativealternative
They use display space efficiently.They use display space efficiently.
Can provide structural informationCan provide structural information
implicitly.implicitly.
– Eliminates the need to draw internal nodes.Eliminates the need to draw internal nodes.
Provide an overall (global) view of theProvide an overall (global) view of the
entire hierarchy.entire hierarchy.
– Makes navigation and orientation easier.Makes navigation and orientation easier.
Provides creative visual cues toProvides creative visual cues to
communicate content information.communicate content information.
10. Presenting DirectoriesPresenting Directories
Problems with current methods:Problems with current methods:
– None provide a graphical representation ofNone provide a graphical representation of
the relative sizes of files or directories.the relative sizes of files or directories.
– Command line listings force user to pieceCommand line listings force user to piece
directory tree together manually.directory tree together manually.
– Windows obscure each other and require tooWindows obscure each other and require too
much effort to be arranged in any kind ofmuch effort to be arranged in any kind of
useful manner.useful manner.
– Icons only show the type of the file, but noIcons only show the type of the file, but no
other properties.other properties.
11. Presenting DirectoriesPresenting Directories
Origin of Tree-Maps conceptOrigin of Tree-Maps concept
– Venn diagramsVenn diagrams
– Tree diagramsTree diagrams
– Because these waste space, decided to useBecause these waste space, decided to use
boxes instead of ovals, along with a bin-boxes instead of ovals, along with a bin-
packing algorithm.packing algorithm.
– Worked well for small hierarchies only.Worked well for small hierarchies only.
Nesting caused problems.Nesting caused problems.
12. Presenting DirectoriesPresenting Directories
Origin of Tree-Maps conceptOrigin of Tree-Maps concept
– Discovered “slice and dice” method.Discovered “slice and dice” method.
Simple linear method (top-down).Simple linear method (top-down).
– Developed a weight-proportionate distribution.Developed a weight-proportionate distribution.
– Added a pop-up dialog window for detailedAdded a pop-up dialog window for detailed
content information.content information.
– Simple color mapping helps distinguishSimple color mapping helps distinguish
various properties of files, such as type andvarious properties of files, such as type and
size.size.
13. Tree Map MethodTree Map Method
Structural Information:Structural Information:
– Interactive approach gives user control overInteractive approach gives user control over
how tree is displayed.how tree is displayed.
– Requires that a weight be assigned to eachRequires that a weight be assigned to each
node, which determines the size of thatnode, which determines the size of that
node’s bounding box.node’s bounding box.
14. Tree Map MethodTree Map Method
Structural Information:Structural Information:
– There are some properties that always hold,There are some properties that always hold,
maintaining a consistent relationship betweenmaintaining a consistent relationship between
the structure of the hierarchy and its Tree-the structure of the hierarchy and its Tree-
Map representation (pg. 156).Map representation (pg. 156).
– Structural information is implicitly presented,Structural information is implicitly presented,
but can be nested to explicitly indicate.but can be nested to explicitly indicate.
– Non-nested display explicity provides directNon-nested display explicity provides direct
selection only for leaf nodes.selection only for leaf nodes.
15. Tree Map MethodTree Map Method
Content Information:Content Information:
– Variety of display properties determines howVariety of display properties determines how
the node is drawn.the node is drawn.
– Color is the most important property.Color is the most important property.
– Other properties include pitch of tone andOther properties include pitch of tone and
color saturation.color saturation.
– Pop-up display provides information about thePop-up display provides information about the
node currently under the cursor.node currently under the cursor.
16. Coping With SizeCoping With Size
Groups of small files can becomeGroups of small files can become
indistinguishable (completely blackindistinguishable (completely black
regions).regions).
Zooming in on these regions helps theZooming in on these regions helps the
local structure become clear.local structure become clear.
17. Future ResearchFuture Research
Exploration of alternate structuralExploration of alternate structural
partitioning schemes.partitioning schemes.
Appropriate visual display of both numericAppropriate visual display of both numeric
and non-numeric content information.and non-numeric content information.
Dynamic viewsDynamic views
– Animated time sliceAnimated time slice
20. IntroductionIntroduction
SeeSys is a system that allows users toSeeSys is a system that allows users to
visualize statistics associated with codevisualize statistics associated with code
that is divided hierarchically intothat is divided hierarchically into
subsystems, directories, and files.subsystems, directories, and files.
21. IntroductionIntroduction
Problems with current methods:Problems with current methods:
– Ineffective for large software systems.Ineffective for large software systems.
– Routines for producing flow charts, functionRoutines for producing flow charts, function
call graphs, and structure diagrams oftencall graphs, and structure diagrams often
break down.break down.
– Incomprehensible, cluttered display.Incomprehensible, cluttered display.
22. IntroductionIntroduction
Project managers need a tool thatProject managers need a tool that
facilitates management issues of softwarefacilitates management issues of software
development.development.
– Where new development activity is occurring.Where new development activity is occurring.
– Which modules are error prone.Which modules are error prone.
Motivation for SeeSys came from AT&T’sMotivation for SeeSys came from AT&T’s
massive communications softwaremassive communications software
system.system.
Five questions for project managers (pg.Five questions for project managers (pg.
162)162)
23. IntroductionIntroduction
Statistical methods, alone, don’t provideStatistical methods, alone, don’t provide
thethe contextcontext necessary to make validnecessary to make valid
analyses.analyses.
SeeSys visualizes subsystem, directory,SeeSys visualizes subsystem, directory,
and file statistics, but within appropriateand file statistics, but within appropriate
context.context.
– Preserves hierarchical relationships in thePreserves hierarchical relationships in the
code.code.
– Makes it easy to relate the statistics to theMakes it easy to relate the statistics to the
components.components.
24. ApproachApproach
Based on idea that software system canBased on idea that software system can
be decomposed into its individualbe decomposed into its individual
components.components.
Subsystems labeled with letters.Subsystems labeled with letters.
Subsystems are partitioned vertically andSubsystems are partitioned vertically and
their area is based on a particulartheir area is based on a particular
subsystem statistic.subsystem statistic.
Allows for visual comparison of directoriesAllows for visual comparison of directories
within a subsystem.within a subsystem.
25. ApproachApproach
Fill represents a second statistic, such asFill represents a second statistic, such as
indicating newly-developed code.indicating newly-developed code.
Zoom view to get a closer look at anZoom view to get a closer look at an
individual subsystem.individual subsystem.
Hierarchical decomposition immediatelyHierarchical decomposition immediately
relates the files to their directories and therelates the files to their directories and the
directories to their subsystems.directories to their subsystems.
– Makes cross unit comparisons easy.Makes cross unit comparisons easy.
26. ApproachApproach
The fill represents percentages.The fill represents percentages.
– Allows for quick discovery of outliers.Allows for quick discovery of outliers.
27. ApplicationsApplications
Subsystem informationSubsystem information
– Size and color brightness represent the sizeSize and color brightness represent the size
or individual subsystems.or individual subsystems.
Directory informationDirectory information
– Each subsystem is partitioned vertically toEach subsystem is partitioned vertically to
show its internal directories.show its internal directories.
– Area and color represent size.Area and color represent size.
– Fill is related to new development.Fill is related to new development.
– Figure 3 is the “software skyline.”Figure 3 is the “software skyline.”
28. ApplicationsApplications
Error-prone codeError-prone code
– Directory spikes represent detail for directoryDirectory spikes represent detail for directory
bug fixing.bug fixing.
– Subsystem g shows an example of a verySubsystem g shows an example of a very
high bug rate (figure 5), represented by thehigh bug rate (figure 5), represented by the
light gray subsystem rectangle.light gray subsystem rectangle.
System evolutionSystem evolution
– Animated display portrays growth through theAnimated display portrays growth through the
software’s version releases.software’s version releases.
– Shows history and trends of each subsystem.Shows history and trends of each subsystem.
29. The Visualization SystemThe Visualization System
SeeSys was designed to display softwareSeeSys was designed to display software
metrics that have two propertiesmetrics that have two properties
– Quantitative measureQuantitative measure
– AdditiveAdditive
May be extended to display complexityMay be extended to display complexity
metrics.metrics.
30. User InteractionUser Interaction
Tracks mouse movements and showsTracks mouse movements and shows
extra information about the componentextra information about the component
that the mouse cursor is touching.that the mouse cursor is touching.
– Active component indicated by a redActive component indicated by a red
highlighted boundary.highlighted boundary.
Available stats are shown on lower leftAvailable stats are shown on lower left
side of screen.side of screen.
Clicking these stats creates a redrawnClicking these stats creates a redrawn
display focused on this particular statistic.display focused on this particular statistic.
31. User InteractionUser Interaction
Five buttons control various options suchFive buttons control various options such
as presence of fill and zoom activation.as presence of fill and zoom activation.
ROWS slider controls the number of rowsROWS slider controls the number of rows
in the display.in the display.
Speed slider and frame slider controlSpeed slider and frame slider control
animation.animation.
During animation, one can watch theDuring animation, one can watch the
active bar in the slider to see thatactive bar in the slider to see that
particular subsystem’s evolution.particular subsystem’s evolution.
32. Display PrinciplesDisplay Principles
Based on 3 principles:Based on 3 principles:
– Individual components can be assembled toIndividual components can be assembled to
form the whole.form the whole.
Allows users to see relationships betweenAllows users to see relationships between
components.components.
– Pairs of components can be compared.Pairs of components can be compared.
– Components can be disassembled intoComponents can be disassembled into
smaller components.smaller components.
Allows structure of display to reflect structure ofAllows structure of display to reflect structure of
software.software.
33. Screen Real-EstateScreen Real-Estate
100% of display area is utilized.100% of display area is utilized.
Components with large statistics areComponents with large statistics are
visually dominant.visually dominant.
Zoom feature allows user to see smallZoom feature allows user to see small
directories.directories.
34. Spatial RelationshipsSpatial Relationships
Takes advantage of human ability toTakes advantage of human ability to
recognize spatial relationships.recognize spatial relationships.
People relate each component to thePeople relate each component to the
whole.whole.
It is easier to see relationships betweenIt is easier to see relationships between
components if the heights of thecomponents if the heights of the
rectangles are equal.rectangles are equal.
– Row slider allows user to choose number ofRow slider allows user to choose number of
rows displayed for an optimal display.rows displayed for an optimal display.
35. ColorColor
Redundantly encodes size.Redundantly encodes size.
Can also be used to encode age,Can also be used to encode age,
complexity, activity, number ofcomplexity, activity, number of
programmers, etc.programmers, etc.
36. ImplementationImplementation
Four linked views of data:Four linked views of data:
– Colorful space-filling display.Colorful space-filling display.
– Leftspace – controls, buttons, sliders.Leftspace – controls, buttons, sliders.
– Bottomspace – color scale and statistics.Bottomspace – color scale and statistics.
– Zoom view – details of a particularZoom view – details of a particular
subsystem.subsystem.
37. SummarySummary
SeeSys provides the following utilities:SeeSys provides the following utilities:
– Shows the sizes of the subsystems andShows the sizes of the subsystems and
directories and where the recent activity hasdirectories and where the recent activity has
occurred.occurred.
– Zoom in on particular subsystems.Zoom in on particular subsystems.
– Explore where bug fixes and new functionalityExplore where bug fixes and new functionality
have occurred.have occurred.
– Identify directories and subsystems with highIdentify directories and subsystems with high
fix-on-fix rates.fix-on-fix rates.
– Find historically active and extinct subsystemsFind historically active and extinct subsystems
38. SummarySummary
3 principles should ultimately be observed3 principles should ultimately be observed
when designing any visualization systemwhen designing any visualization system
for large software systems:for large software systems:
– Structure of display should reflect structure ofStructure of display should reflect structure of
software.software.
– Individual components should by comparableIndividual components should by comparable
and decomposable.and decomposable.
– Animation helps user visualize the evolutionAnimation helps user visualize the evolution
of the software.of the software.