Matthias
Labschütz, e8971103#student.tuwien.ac.at
This software implements ideas taken from Hierarchical Edge Bundles: Visualization
of Adjacency Relations in Hierarchical Data [1]. The program visualizes call
hierarchies of a Java program in eclipse.
Binaries at: |
||||
Sourcecode at: |
||||
Documentation at: |
||||
·
Copy bin\callgraph_1.0.0.201306111622.jar
to your Eclipse /dropins folder
·
Start
Eclipse
·
Open the view: Window
-> Show View -> Other... -> Graph Category -> Graph View
Figure 1 shows the main view of the program
Figure 1: Call graph for a software project.
The
user interface allows the following interaction:
(1) Clicking into the main view allows panning (drag & drop) and zooming (mouse wheel).
(2) Selection of nodes is possible by clicking on them. This selects only the
edges going through the specified node.
(3) The combo box specifies the active project. The
refresh button is used to generate a call graph.
(4) The number of currently selected edges is displayed
here.
(5) Text size and spline
thickness can be chosen. The Context checkbox greys out non-selected splines.
(6) A progress bar shows the progress during loading.
(Loading times for larger projects can be noticeable.)
Figure 2 shows a focus and context view that greys out
non-selected edges.
Figure 2: Call
graph for a software project with the loader package selected.
Figure
3 shows a zoomed version of the graph with the selected class CameraParameters. The edges show method calls from red to
green. The selected class is called by different classes in other packages, but
doesn’t call any methods itself, since no red edges are incident to the
class. In addition it is possible to see that there are 71 calls to the CameraParameters methods from other classes.
Figure 3: Zoomed in
and selection of the class CameraParameters.
Figure 4 shows the
rather simple call hierarchy graph of the Plugin
itself. The following libraries have been used:
·
LWJGL
·
jgrapht for the graph structure (not the layout)
·
Slick for loading
textures
Figure 4: Call
hierarchy of the Plugin itself.
[1] Holten D., ‘Hierarchical Edge Bundles: Visualization
of Adjacency Relations in Hierarchical Data‘, IEEE Transactions on
Visualization and Computer Graphics 2006