Title: Visual Comparison of Software Hierarchies
1Visual Comparison of Software Hierarchies
- Danny Holten and Jarke J. Van Wijk
d.h.r.holten_at_tue.nl, vanwijk_at_win.tue.nl
Motivation Within Software Engineering, it is
important for a Software Engineer (SE) to be able
to quickly gain insight in the software
architecture and the actual source code of a
software system. This knowledge is needed for
software maintenance tasks, i.e., to address
change requests, to fix bugs, or to implement new
functionality. Challenge It is often hard to
quickly get up to speed with the current version
of a software system. This is especially true for
SEs that have previously been involved in the
creation or maintenance of a software system, but
who have not worked on said system for a longer
period of time. This is due to the fact that the
source code (and possibly the high-level
architecture) of the software system might have
evolved considerably in the meantime. Approach W
e provide a novel visualization method to compare
different versions of hierarchically organized
software systems with each other. The
visualization shows both versions of the
hierarchies and also depicts how the hierarchies
are related. Elements that are unique to each
hierarchy are shown, as well as the way in which
hierarchy elements are relocated, split or joined
between versions. The relations between
hierarchy elements are visualized using
Hierarchical Edge Bundles (HEBs) 1. HEBs reduce
visual clutter, they visually emphasize splits,
joins, and the relocation of subtrees
(subhierarchies), and they facilitate the way in
which a user interacts with the
relations. Acknowledgments This work was
supported by the Netherlands Organisation for
Scientific Research (NWO) Jacquard Program under
research grant no. 638.001.408. References 1
Hierarchical Edge Bundles Visualization of
Adjacency Relations in Hierarchical Data, Danny
Holten, IEEE Transactions on Visualization and
Computer Graphics (TVCG Proceedings of Vis /
InfoVis 2006), Vol. 12, No. 5, 2006.
Fig. 1 Two different versions of software used by
FEI Company Eindhoven to operate with their range
of electron microscopes. The top hierarchy shows
the original version (text labels omitted on
purpose), the bottom hierarchy shows an
alternative decomposition generated using Bunch,
a software clustering tool produced by the Drexel
University Software Engineering Research Group.
Relations are depicted using straight lines.
Fig. 2 HEBs reduce visual clutter and they
visually emphasize splits, joins, and the
relocation of subtrees (subhierarchies).
Fig. 3 HEBs facilitate user interaction a bundle
is selected by means of crossing and the
relations comprising and the elements pertaining
to the bundle are subsequently highlighted.