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, p119133. ► K.L. Summers, T.E.Goldsmith, S.Kubica, T.P.Caudell, An Experimental Evaluation of Continuous Semantic Zooming in Program Visualization, IEEE Symposium on Information Visualization, 2003. Software Visualization ► Software visualization is the use of computer graphics and animation to help illustrate and present computer programs, processes, and algorithms. Space filling approach ► ► The space filling approach used in this paper is based on the generalized idea of treemaps developed by Shneirderman, which aids in showing hierarchical data. The hierarchy for a software system is Software system subsystems directories files. Motivation The main motivation for such a system is to gather information on: Subsystem information Directory information Error-prone code Recurring problems System evolution Typical software system information ► ► ► ► ► Non-commentary source lines (NCSL) Software complexity metrics Number and scope of modifications Number of programmers making modifications Number and type of bugs Approach The approach adopted in this paper is very similar to that of a treemap approach. ► A rectangular space is partitioned into subsystems depending on its total NCSL. ► A subsystem is in-turn divided into directories, which in-turn contain files. ► The software visualization technique developed is implemented in a system called SeeSys. ► Space Filling Approach • Three subsystems X, Y, Z • X subsystem has 5 • Filling may indicate the directories 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. 1. Subsystem information ► Questions: Which subsystems are the largest? Where is the new development activity? ► Procedure: The outermost rectangle represents the total size of the system. The individual rectangles denote the size of the subsystems in NCSL. Color coding is used to encode the size of the individual subsystems. Subsystem Information Three for NCSL of the subsystems t during largest various with subsystems the releases most (visually) development activity Color codes 2. Directory information ► Questions: Where are the large directories? Is there even distribution of ►Large and small directories ►New development between directories Which directories are stable? Which directories have the most activity? Directory level detail Back Almost no development Subsystems n have the no large directories e and D Z have largest directories Max development Zoomed view of subsystem t 3. Errors in code ► Questions: Which subsystems and directories have the most errors (bugs)? How much of the development activity is apportioned to. ►Fixing bugs. ►Adding new functionality. Bug rates by subsystem and directory Max bug fix rate Mostsize The development of the subsystems activity are based Lesser onbug the fix new rate NCSL compared during the development of the system to new development 4. Recurring error problems ► Questions: Are the bugs really fixed or are they a recurring problem? Are there any components that would need complete restructuring or reconstruction? ► Fix-on-fix rate A fix-on-fix bug is a software bug correction that modifies an earlier bug fix. Fix-on-fix rates The area representing each subsystem and directory Subsystems i and K have high fix-on-fix rates is proportional to the number of bugs. The fill area represents the fix-on-fix rates. 5. System Evolution ► Questions: Which were the major software releases? Have any subsystems shrunk or disappeared during releases? What is the rate of growth for subsystems and directories? Where has the development work been done historically? System Evolution ► SeeSys animates the display over the evolution the code. ► The bounding rectangle represents the maximum size of the subsystem across all releases. The filled portion is the amount of development during that particular release. ► A set of frame sliders control the display frame. Code growth animation – frame 1 Frame sliders Code growth animation – frame 2 Code growth animation – frame 3 Evolution changes ► ► ► ► Subsystem O has disappeared. Subsystems F and J have shrunk. Subsystem D has a slow growth at first, but a faster growth during later releases. Subsystems t, k and Z are the fastest growing subsystems. Link User interaction SeeSys uses mouse movements to interact with the system. The active component at any particular time is indicated by a red highlighted boundary. ► The available statistics are displayed on the lower left corner. ► There are five buttons that can be used to change the appearance on the screen. ► There are sliders that control the number of rows to be displayed and the animation. ► Display principles ► The visualization principles used in SeeSys The individual components can be assembled to form the whole. Pairs of components can be compared to see how they differ. The components can be disassembled into smaller components namely subsystems and directories. SeeSys properties ► Screen real estate The total screen space (100%) is utilized as the rectangles are placed next to each other. To view the smaller components in greater detail, the zoom feature can be used. ► Spatial Relationship Example: Comparing the new development activity by subsystem involves making all subsystems of the same size. ► Color Color could be used to encode various attributes like NCSL, age, complexity, activity, number of programmers etc of the software system. New development by subsystem Continuous Semantic Zooming An Experimental Evaluation Zooming ► Geometric Zooming This kind of zooming simply provides a blowup of graph content. (E.g. Zooming a picture) ► Semantic Zooming This kind of zooming means that the information content changes and more details are shown when approaching a particular area of the graph. (E.g. plots in Matlab) Issues ►Providing the appropriate level of detail is a challenge. Examples of Visualization tools Flat representation of all the data items on the available screen space aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfsss sssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnn nnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhh hhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhfffffffftttttttttttttttttttttttttttttttttttttttttttmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfsss sssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnn nnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhh hhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssss ssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndssssssssssssssssssssssss sssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllll llllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkk kkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssss ssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDD DDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndssssssssssssssssssssssssss sssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssllllllllll lllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkk kkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssss sssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDD DDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssss ssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllll qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkk kkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtttttttttttttttttttttttttttttt ttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiii iiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkh Pan and Zoom wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssss ssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndssssssssssssssssssssssss sssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllll llllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkk kkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Overview + detail aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfsss sssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnn nnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhh hhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhfffffffftttttttttttttttttttttttttttttttttttttttttttmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfsss sssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnn nnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhh hhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssss ssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndssssssssssssssssssssssss sssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllll llllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkk kkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssss ssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDD DDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndssssssssssssssssssssssssss sssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssllllllllll lllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkk kkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssss sssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDD DDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssss ssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllll qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkk kkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtttttttttttttttttttttttttttttt ttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiii iiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkh Focus + context aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfsss sssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnn nnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhh hhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhfffffffftttttttttttttttttttttttttttttttttttttttttttmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfsss sssssssssssssssssssjklehsIDKSDDDDDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnn nnnnndsssssssssssssssssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhh hhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopp pppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaassssssssssssssssssssssssssssssssssssssssssssssssssdddddddagjsdfssssss ssssssssssssssssfdhhhhhhhhhhhhhhhSIVAlfdsjmnnnnnnnnnnnndssssssssssssssssssssssss sssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllll llllllllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkk kkkkkkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassssssssssssssssss ssssssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDD DDDDDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndssssssssssssssssssssssssss sssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhssssssssssssssssssssssssllllllllll lllllllllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkk kkkkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssss sssssssssssssssssssssssssssssdddddddagjsdfssssssssssssssssssssssjklehsIDKSDDDDDD DDDDDDDDDDDDDDDDDDDDDDlfdsjmnnnnnnnnnnnndsssssssssssssssssssssssssssssss ssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllll qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrttttttttttttttttttttttttttttttttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyuuuuuuuuuuuuuuuuiiiiiiiiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkk kkkhhhhhhhhhhffffffffttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssslllllllllllllllllllqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwweeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtttttttttttttttttttttttttttttt ttttttttTttttttttttttttttttttttyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuuuuuuuuuuuuuuuuiiiiii iiiiiiiioooooooooooooopppppppppppppppp][[[[[[[[[[[[;;;;;;;;;kkkkkkkkkkkkh Objective ► Study the effect of viewing visual programs on the users’ understanding. ► Comparison of three methods Flat zooming Semantic zooming Continuous semantic zooming Semantic Zooming ► Details in the zoom area become more distinct. ► Changes in the representation as the result of the zoom. ► Example: Procedural programming ► Drawback: When viewing the top-level program, the contents of the procedures are hidden and viceversa. Programs without procedures Encapsulated procedure and details Continuous Semantic Zooming (CSZ) ► CSZ uses the concept of semantic zooming with blending and proximity. ► This allows the user to view both the procedure details and the details of the higher levels (focus + context). ► The smooth transition between levels helps maintain the mental map of the representations. Continuous Semantic Zooming Zooming with top-level details hidden Evaluating CSZ ► The evaluation of the CSZ method is done by comparing it with flat and semantic zooming. Flat representation contains no procedures. Semantic representations have procedures. Zooming Hierarchical view with procedures Flat representation with all procedures exploded Evaluation Study ► The evaluation consisted of two pilot studies and one main study. ► Metrics Time to find the elements. Accuracy ► Pilot studies were mainly done to calibrate the metrics. Compares only the flat and semantic representations. Example program ► Available polygons Lines, triangles, rectangles & ovals. ► ► The polygon’s relationship between one another is determined by the connections between program elements. SGPL – Simple Graphics Programming Language. Pilot Study 1 – Program output Pilot study 1 - Flat representation Pilot study 1 - Hierarchical representation Pilot Study 2 - Program output Pilot studies - Observations ► The pilot studies were conducted to corroborate that the measures were sensitive enough to detect differences in time and accuracy. ► Observations Pattern matching was used for simple polygon identification. Remedies ►Add more similar features ►Add complexity Main study ► Comparisons between flat, SZ and CSZ representations. ► 60 subjects, 20 per method ► 14 tasks ► The picture contained 164 polygons and the corresponding program contained around 200 elements. Picture used for study Results Scatter plot Results (cont’d) Results Z scores The more negative the Z score is the higher the value. Conclusions ► CSZ is a better method for visualizing complex programs when compared to flat and SZ representations. ► Distinct advantages The context is not lost (multi-level views possible) Smoother transition between views The more complex the program gets, the better the method is over the others. Program Screen Future work ► The user’s understanding of textual programs could be tested using this procedure. ► The reasons for the difference between SZ and CSZ need to be ascertained and also whether the subjects made use of all the information given to them (these would provide new venues for research). ► Extension of CSZ to real world problems (visualizing parallel programs).
© Copyright 2026 Paperzz