Adjacency matrix code visualizer
Java JavaScript HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
my-repo/classycle/classycle
src
LICENSE
README.org
pom.xml

README.org

Adjacency matrix code visualizer

What

This tool takes some .jar files as input and generates an adjacency matrix over the dependencies between the classes in the .jar files.

The adjacency matrix is visualized through a generated stand-alone .html file. This html file have the graph information and some javascript that visualize the adjacency matrix and lets you filter, zoom, order, color, and group the matrix how you want.

The dependencies between classes is generated using classycle.

You can also supply the tool with a .tgf file. TGF files lets you generate an adjacency matrix from any graph.

There are example outputs available at the Adjacency matrix code visualizer page.

How

The default behavior is to generate a file called output.html. Drag-dropping your library-to-visualize.jar file onto adjmatrix.jar should have the same effect.

$ java -jar adjmatrix.jar library-to-visualize.jar
$ firefox output.html

You can define a custom output file/location using -out.

$ java -jar adjmatrix.jar -out ../myoutput.html library1-to-visualize.jar library2-to-visualize.jar
$ firefox ../myoutput.html

The tool supports classycle arguments, so you can define which classes to include/exclude. See more at the Classycle Usage Guide.

$ java -jar adjmatrix.jar -includingClasses=java.util,java.function rt.jar
$ firefox output.html

Bugs

  • The javascript is bad, and I only tested it on Chromium 48.0 and Firefox 45.0.
  • The UI is bad. It should be separated completely independent groups: node selection, node sorting, and node coloring. Fixing this would mean porting the “sort by similarity” algorithm to javascript, but that algorithm is the slowest part of the html generation.