58
Software Software Visualization Visualization Space Filling Space Filling Approach & Semantic Approach & Semantic Zooming Zooming Siva Venkatachalam Siva Venkatachalam 03/23/2004 03/23/2004

Software Visualization Space Filling Approach & Semantic Zooming

  • Upload
    gaerwn

  • View
    71

  • Download
    0

Embed Size (px)

DESCRIPTION

Software Visualization Space Filling Approach & Semantic Zooming. Siva Venkatachalam 03/23/2004. Articles covered. Marla J. Baker, Stephen G. Eick, Space-Filling Software Visualization, Journal of Visual Languages and Computing, 6(2), 1995, p119-133. - PowerPoint PPT Presentation

Citation preview

Page 1: Software Visualization Space Filling Approach & Semantic Zooming

Software VisualizationSoftware Visualization Space Filling Approach & Space Filling Approach &

Semantic ZoomingSemantic ZoomingSiva VenkatachalamSiva Venkatachalam

03/23/200403/23/2004

Page 2: Software Visualization Space Filling Approach & Semantic Zooming

Articles coveredArticles covered

► Marla J. Baker, Stephen G. Eick, Space-Marla J. Baker, Stephen G. Eick, Space-Filling Software Visualization, Journal of Filling Software Visualization, Journal of Visual Languages and Computing, 6(2), Visual Languages and Computing, 6(2), 1995, p119-133.1995, p119-133.

► K.L. Summers, T.E.Goldsmith, S.Kubica, K.L. Summers, T.E.Goldsmith, S.Kubica, T.P.Caudell, An Experimental Evaluation T.P.Caudell, An Experimental Evaluation of Continuous Semantic Zooming in of Continuous Semantic Zooming in Program Visualization, IEEE Symposium Program Visualization, IEEE Symposium on Information Visualization, 2003.on Information Visualization, 2003.

Page 3: Software Visualization Space Filling Approach & Semantic Zooming

Software VisualizationSoftware Visualization

► Software visualization is the use of Software visualization is the use of computer graphics and animation to computer graphics and animation to help illustrate and present computer help illustrate and present computer programs, processes, and algorithms.programs, processes, and algorithms.

Page 4: Software Visualization Space Filling Approach & Semantic Zooming

Space filling approachSpace filling approach

► The space filling approach used in this The space filling approach used in this paper is based on the generalized paper is based on the generalized idea of treemaps developed by idea of treemaps developed by Shneirderman, which aids in showing Shneirderman, which aids in showing hierarchical data.hierarchical data.

► The hierarchy for a software system is The hierarchy for a software system is Software system Software system subsystems subsystems directories directories files. files.

Page 5: Software Visualization Space Filling Approach & Semantic Zooming

MotivationMotivation

The main motivation for such a The main motivation for such a system is to gather information on:system is to gather information on:

Subsystem informationSubsystem information Directory informationDirectory information Error-prone codeError-prone code Recurring problemsRecurring problems System evolutionSystem evolution

Page 6: Software Visualization Space Filling Approach & Semantic Zooming

Typical software system Typical software system informationinformation

► Non-commentary source lines Non-commentary source lines (NCSL)(NCSL)

► Software complexity metricsSoftware complexity metrics► Number and scope of modificationsNumber and scope of modifications► Number of programmers making Number of programmers making

modificationsmodifications► Number and type of bugsNumber and type of bugs

Page 7: Software Visualization Space Filling Approach & Semantic Zooming

ApproachApproach

► The approach adopted in this paper is The approach adopted in this paper is very similar to that of a treemap very similar to that of a treemap approach.approach.

► A rectangular space is partitioned into A rectangular space is partitioned into subsystems depending on its total NCSL.subsystems depending on its total NCSL.

► A subsystem is in-turn divided into A subsystem is in-turn divided into directories, which in-turn contain files.directories, which in-turn contain files.

► The software visualization technique The software visualization technique developed is implemented in a system developed is implemented in a system called SeeSys.called SeeSys.

Page 8: Software Visualization Space Filling Approach & Semantic Zooming

Space Filling ApproachSpace Filling Approach

• Three subsystems X, Y, Z• X subsystem has 5

directories• Filling may indicate the

amount of new NCSL• In terms of %, directory 5

has the largest change in NCSL.

• Subsystem Y with its internal directories and files

• The leftmost directory contains 5 files and the shading may be indicative of new NCSL.

Page 9: Software Visualization Space Filling Approach & Semantic Zooming

1. Subsystem information1. Subsystem information► Questions:Questions:

Which subsystems are the largest?Which subsystems are the largest? Where is the new development Where is the new development

activity?activity?► Procedure:Procedure:

The outermost rectangle represents The outermost rectangle represents the total size of the system.the total size of the system.

The individual rectangles denote the The individual rectangles denote the size of the subsystems in NCSL.size of the subsystems in NCSL.

Color coding is used to encode the Color coding is used to encode the size of the individual subsystems.size of the individual subsystems.

Page 10: Software Visualization Space Filling Approach & Semantic Zooming

Subsystem InformationSubsystem Information

Three of the largest subsystems (visually)

Three subsystems with the most development activityColor codesNCSL for t during various releases

Page 11: Software Visualization Space Filling Approach & Semantic Zooming

2. Directory information2. Directory information

►Questions:Questions: Where are the large directories?Where are the large directories? Is there even distribution of Is there even distribution of

►Large and small directoriesLarge and small directories►New development between directoriesNew development between directories

Which directories are stable?Which directories are stable? Which directories have the most Which directories have the most

activity?activity?

Page 12: Software Visualization Space Filling Approach & Semantic Zooming

Directory level detailDirectory level detail

Subsystems e and Z have the largest directoriesSubsystems n and D have no large directories

Almost no development

Max development

Back

Page 13: Software Visualization Space Filling Approach & Semantic Zooming

Zoomed view of subsystem tZoomed view of subsystem t

Page 14: Software Visualization Space Filling Approach & Semantic Zooming

3. Errors in code3. Errors in code

► Questions:Questions: Which subsystems and directories Which subsystems and directories

have the most errors (bugs)?have the most errors (bugs)? How much of the development How much of the development

activity is apportioned to.activity is apportioned to.►Fixing bugs.Fixing bugs.►Adding new functionality.Adding new functionality.

Page 15: Software Visualization Space Filling Approach & Semantic Zooming

Bug rates by subsystem and Bug rates by subsystem and directorydirectory

The size of the subsystems are based on the new NCSL during the development of the system

Most development activity

Max bug fix rate

Lesser bug fix rate compared to new development

Page 16: Software Visualization Space Filling Approach & Semantic Zooming

4. Recurring error problems4. Recurring error problems

► Questions:Questions: Are the bugs really fixed or are they a Are the bugs really fixed or are they a

recurring problem?recurring problem? Are there any components that would need Are there any components that would need

complete restructuring or reconstruction?complete restructuring or reconstruction?

► Fix-on-fix rateFix-on-fix rate A fix-on-fix bug is a software bug correction A fix-on-fix bug is a software bug correction

that modifies an earlier bug fix.that modifies an earlier bug fix.

Page 17: Software Visualization Space Filling Approach & Semantic Zooming

Fix-on-fix ratesFix-on-fix rates

The area representing each subsystem and directory is proportional to the number of bugs. The fill area represents the fix-on-fix rates.

Subsystems i and K have high fix-on-fix rates

Page 18: Software Visualization Space Filling Approach & Semantic Zooming

5. System Evolution5. System Evolution

►Questions:Questions: Which were the major software Which were the major software

releases?releases? Have any subsystems shrunk or Have any subsystems shrunk or

disappeared during releases?disappeared during releases? What is the rate of growth for What is the rate of growth for

subsystems and directories?subsystems and directories? Where has the development work been Where has the development work been

done historically?done historically?

Page 19: Software Visualization Space Filling Approach & Semantic Zooming

System EvolutionSystem Evolution

►SeeSys animates the display over the SeeSys animates the display over the evolution the code.evolution the code.

►The bounding rectangle represents the The bounding rectangle represents the maximum size of the subsystem across maximum size of the subsystem across all releases. The filled portion is the all releases. The filled portion is the amount of development during that amount of development during that particular release.particular release.

►A set of frame sliders control the A set of frame sliders control the display frame.display frame.

Page 20: Software Visualization Space Filling Approach & Semantic Zooming

Code growth animation – frame Code growth animation – frame 11

Frame sliders

Page 21: Software Visualization Space Filling Approach & Semantic Zooming

Code growth animation – frame Code growth animation – frame 22

Page 22: Software Visualization Space Filling Approach & Semantic Zooming

Code growth animation – frame Code growth animation – frame 33

Page 23: Software Visualization Space Filling Approach & Semantic Zooming

Evolution changesEvolution changes

► Subsystem O has disappeared.Subsystem O has disappeared.► Subsystems F and J have shrunk.Subsystems F and J have shrunk.► Subsystem D has a slow growth at Subsystem D has a slow growth at

first, but a faster growth during later first, but a faster growth during later releases.releases.

► Subsystems t, k and Z are the fastest Subsystems t, k and Z are the fastest growing subsystems.growing subsystems.

Page 24: Software Visualization Space Filling Approach & Semantic Zooming

User interactionUser interaction

► SeeSys uses mouse movements to SeeSys uses mouse movements to interact with the system. The active interact with the system. The active component at any particular time is component at any particular time is indicated by a red highlighted boundary.indicated by a red highlighted boundary.

► The available statistics are displayed on The available statistics are displayed on the lower left corner.the lower left corner.

► There are five buttons that can be used There are five buttons that can be used to change the appearance on the screen.to change the appearance on the screen.

► There are sliders that control the number There are sliders that control the number of rows to be displayed and the of rows to be displayed and the animation.animation.

Link

Page 25: Software Visualization Space Filling Approach & Semantic Zooming

Display principlesDisplay principles

►The visualization principles used in The visualization principles used in SeeSysSeeSys The individual components can be The individual components can be

assembled to form the whole.assembled to form the whole. Pairs of components can be compared to Pairs of components can be compared to

see how they differ.see how they differ. The components can be disassembled into The components can be disassembled into

smaller components namely subsystems smaller components namely subsystems and directories.and directories.

Page 26: Software Visualization Space Filling Approach & Semantic Zooming

SeeSys propertiesSeeSys properties► Screen real estateScreen real estate

The total screen space (100%) is utilized as the The total screen space (100%) is utilized as the rectangles are placed next to each other.rectangles are placed next to each other.

To view the smaller components in greater To view the smaller components in greater detail, the zoom feature can be used.detail, the zoom feature can be used.

► Spatial RelationshipSpatial Relationship Example: Comparing the new development Example: Comparing the new development

activity by subsystem involves making all activity by subsystem involves making all subsystems of the same size.subsystems of the same size.

► ColorColor Color could be used to encode various attributes Color could be used to encode various attributes

like NCSL, age, complexity, activity, number of like NCSL, age, complexity, activity, number of programmers etc of the software system.programmers etc of the software system.

Page 27: Software Visualization Space Filling Approach & Semantic Zooming

New development by subsystemNew development by subsystem

Page 28: Software Visualization Space Filling Approach & Semantic Zooming

Continuous Semantic Continuous Semantic ZoomingZooming

An Experimental EvaluationAn Experimental Evaluation

Page 29: Software Visualization Space Filling Approach & Semantic Zooming

ZoomingZooming►Geometric ZoomingGeometric Zooming

This kind of zooming simply provides a blowup This kind of zooming simply provides a blowup of graph content. (E.g. Zooming a picture)of graph content. (E.g. Zooming a picture)

►Semantic ZoomingSemantic Zooming This kind of zooming means that the This kind of zooming means that the

information content changes and more details information content changes and more details are shown when approaching a particular area are shown when approaching a particular area of the graph. (E.g. plots in Matlab)of the graph. (E.g. plots in Matlab)

IssuesIssues►Providing the appropriate level of detail is a Providing the appropriate level of detail is a

challenge.challenge.

Page 30: Software Visualization Space Filling Approach & Semantic Zooming

Examples of Visualization Examples of Visualization toolstoolsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhfffffffftttttttttttttttttttttttttttttttttttttttttttmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkh

Flat representation of all the data items on the available screen space

Page 31: Software Visualization Space Filling Approach & Semantic Zooming

Pan and ZoomPan and Zoom

wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Page 32: Software Visualization Space Filling Approach & Semantic Zooming

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhfffffffftttttttttttttttttttttttttttttttttttttttttttmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkh

Overview + detailOverview + detail

Page 33: Software Visualization Space Filling Approach & Semantic Zooming

Focus + contextFocus + contextaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhfffffffftttttttttttttttttttttttttttttttttttttttttttmmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkh

Page 34: Software Visualization Space Filling Approach & Semantic Zooming

ObjectiveObjective

►Study the effect of viewing visual Study the effect of viewing visual programs on the users’ understanding.programs on the users’ understanding.

►Comparison of three methodsComparison of three methods Flat zoomingFlat zooming Semantic zoomingSemantic zooming Continuous semantic zoomingContinuous semantic zooming

Page 35: Software Visualization Space Filling Approach & Semantic Zooming

Semantic ZoomingSemantic Zooming

►Details in the zoom area become more Details in the zoom area become more distinct.distinct.

►Changes in the representation as the Changes in the representation as the result of the zoom.result of the zoom.

►Example: Procedural programmingExample: Procedural programming►Drawback:Drawback:

When viewing the top-level program, the When viewing the top-level program, the contents of the procedures are hidden contents of the procedures are hidden and vice-versa.and vice-versa.

Page 36: Software Visualization Space Filling Approach & Semantic Zooming

Programs without proceduresPrograms without procedures

Page 37: Software Visualization Space Filling Approach & Semantic Zooming

Encapsulated procedure and detailsEncapsulated procedure and details

Page 38: Software Visualization Space Filling Approach & Semantic Zooming

Continuous Semantic Zooming Continuous Semantic Zooming (CSZ)(CSZ)

►CSZ uses the concept of semantic CSZ uses the concept of semantic zooming with blending and proximity.zooming with blending and proximity.

►This allows the user to view both the This allows the user to view both the procedure details and the details of procedure details and the details of the higher levels (focus + context).the higher levels (focus + context).

►The smooth transition between levels The smooth transition between levels helps maintain the mental map of the helps maintain the mental map of the representations.representations.

Page 39: Software Visualization Space Filling Approach & Semantic Zooming

Continuous Semantic Continuous Semantic ZoomingZooming

Page 40: Software Visualization Space Filling Approach & Semantic Zooming

Zooming with top-level details Zooming with top-level details hiddenhidden

Page 41: Software Visualization Space Filling Approach & Semantic Zooming

Evaluating CSZEvaluating CSZ

►The evaluation of the CSZ method is The evaluation of the CSZ method is done by comparing it with flat and done by comparing it with flat and semantic zooming.semantic zooming. Flat representation contains no Flat representation contains no

procedures.procedures. Semantic representations have Semantic representations have

procedures.procedures.

Page 42: Software Visualization Space Filling Approach & Semantic Zooming

ZoomingZooming

Hierarchical view with procedures

Flat representation with all procedures exploded

Page 43: Software Visualization Space Filling Approach & Semantic Zooming

Evaluation StudyEvaluation Study

►The evaluation consisted of two pilot The evaluation consisted of two pilot studies and one main study.studies and one main study.

►MetricsMetrics Time to find the elements.Time to find the elements. AccuracyAccuracy

►Pilot studies were mainly done to Pilot studies were mainly done to calibrate the metrics.calibrate the metrics. Compares only the flat and semantic Compares only the flat and semantic

representations.representations.

Page 44: Software Visualization Space Filling Approach & Semantic Zooming

Example programExample program

► Available polygonsAvailable polygons Lines, triangles, Lines, triangles,

rectangles & ovals.rectangles & ovals.► The polygon’s The polygon’s

relationship between relationship between one another is one another is determined by the determined by the connections connections between program between program elements.elements.

► SGPL – Simple SGPL – Simple Graphics Graphics Programming Programming Language.Language.

Page 45: Software Visualization Space Filling Approach & Semantic Zooming

Pilot Study 1 – Program Pilot Study 1 – Program outputoutput

Page 46: Software Visualization Space Filling Approach & Semantic Zooming

Pilot study 1 - Flat Pilot study 1 - Flat representationrepresentation

Page 47: Software Visualization Space Filling Approach & Semantic Zooming

Pilot study 1 - Hierarchical Pilot study 1 - Hierarchical representationrepresentation

Page 48: Software Visualization Space Filling Approach & Semantic Zooming

Pilot Study 2 - Program Pilot Study 2 - Program outputoutput

Page 49: Software Visualization Space Filling Approach & Semantic Zooming

Pilot studies - ObservationsPilot studies - Observations

►The pilot studies were conducted to The pilot studies were conducted to corroborate that the measures were corroborate that the measures were sensitive enough to detect differences sensitive enough to detect differences in time and accuracy.in time and accuracy.

►ObservationsObservations Pattern matching was used for simple Pattern matching was used for simple

polygon identification.polygon identification. RemediesRemedies

►Add more similar featuresAdd more similar features►Add complexityAdd complexity

Page 50: Software Visualization Space Filling Approach & Semantic Zooming

Main studyMain study

►Comparisons between flat, SZ and CSZ Comparisons between flat, SZ and CSZ representations.representations.

►60 subjects, 20 per method60 subjects, 20 per method►14 tasks14 tasks►The picture contained 164 polygons The picture contained 164 polygons

and the corresponding program and the corresponding program contained around 200 elements.contained around 200 elements.

Page 51: Software Visualization Space Filling Approach & Semantic Zooming

Picture used for studyPicture used for study

Page 52: Software Visualization Space Filling Approach & Semantic Zooming

ResultsResults

Page 53: Software Visualization Space Filling Approach & Semantic Zooming

Scatter plotScatter plot

Page 54: Software Visualization Space Filling Approach & Semantic Zooming

Results (cont’d)Results (cont’d)

Page 55: Software Visualization Space Filling Approach & Semantic Zooming

ResultsResultsZ scoresZ scores

The more negative the Z score is the higher the value.

Page 56: Software Visualization Space Filling Approach & Semantic Zooming

ConclusionsConclusions

►CSZ is a better method for visualizing CSZ is a better method for visualizing complex programs when compared to complex programs when compared to flat and SZ representations.flat and SZ representations.

►Distinct advantagesDistinct advantages The context is not lost (multi-level views The context is not lost (multi-level views

possible)possible) Smoother transition between viewsSmoother transition between views The more complex the program gets, the The more complex the program gets, the

better the method is over the others.better the method is over the others.

Page 57: Software Visualization Space Filling Approach & Semantic Zooming

Program Screen

Page 58: Software Visualization Space Filling Approach & Semantic Zooming

Future workFuture work

► The user’s understanding of textual The user’s understanding of textual programs could be tested using this programs could be tested using this procedure.procedure.

► The reasons for the difference between SZ The reasons for the difference between SZ and CSZ need to be ascertained and also and CSZ need to be ascertained and also whether the subjects made use of all the whether the subjects made use of all the information given to them (these would information given to them (these would provide new venues for research).provide new venues for research).

► Extension of CSZ to real world problems Extension of CSZ to real world problems (visualizing parallel programs).(visualizing parallel programs).