README.org (2070B)
1 #+TITLE: Adjacency matrix code visualizer 2 #+AUTHOR: Dan Amlund Thomsen 3 #+EMAIL: dan@danamlund.dk 4 #+DATE: 2016-04-13 5 6 * What 7 This tool takes some .jar files as input and generates an adjacency 8 matrix over the dependencies between the classes in the .jar files. 9 10 The adjacency matrix is visualized through a generated stand-alone 11 .html file. This html file have the graph information and some 12 javascript that visualize the adjacency matrix and lets you filter, 13 zoom, order, color, and group the matrix how you want. 14 15 The dependencies between classes is generated using [[http://classycle.sourceforge.net/][classycle]]. 16 17 You can also supply the tool with a .tgf file. [[https://en.wikipedia.org/wiki/Trivial_Graph_Format][TGF]] files lets you 18 generate an adjacency matrix from any graph. 19 20 There are example outputs available at the [[http://danamlund.dk/adjmatrix][Adjacency matrix code 21 visualizer page]]. 22 23 * How 24 The default behavior is to generate a file called 25 =output.html=. Drag-dropping your library-to-visualize.jar file onto 26 adjmatrix.jar should have the same effect. 27 #+BEGIN_SRC shell 28 $ java -jar adjmatrix.jar library-to-visualize.jar 29 $ firefox output.html 30 #+END_SRC 31 32 You can define a custom output file/location using =-out=. 33 #+BEGIN_SRC shell 34 $ java -jar adjmatrix.jar -out ../myoutput.html library1-to-visualize.jar library2-to-visualize.jar 35 $ firefox ../myoutput.html 36 #+END_SRC 37 38 The tool supports classycle arguments, so you can define which classes 39 to include/exclude. See more at the [[http://classycle.sourceforge.net/usageAnalyser.html][Classycle Usage Guide]]. 40 41 #+BEGIN_SRC shell 42 $ java -jar adjmatrix.jar -includingClasses=java.util,java.function rt.jar 43 $ firefox output.html 44 #+END_SRC 45 46 * Bugs 47 - The javascript is bad, and I only tested it on Chromium 48.0 and Firefox 45.0. 48 - The UI is bad. It should be separated completely independent 49 groups: node selection, node sorting, and node coloring. Fixing 50 this would mean porting the "sort by similarity" algorithm to 51 javascript, but that algorithm is the slowest part of the html 52 generation.