Contributors: Mykyta Shvets, Ehsan Moradi, Debajyoti Mondal
CodeNetVis is an app for Cytoscape 3.9.1+ that allows you to visualize and explore the dependency graph of a software system.
The app can create a visualization treating
selected packages as magnetic poles. The dependencies are
visualized such that the directed paths are aligned along
the magnetic fields. This creates an easy-to-explore
visualization of the dependencies around the poles.
-
Revealing class dependencies, which may be used to understand how bugs may propagate across modules or for planning software testing
-
Finding opportunities for code restructuring, which may be used to find classes that are related to each other but belong to different packages and thus to reorganize the structure
-
Using polar layout to select a set of classes and examine the dependencies around them, which may be used to plan how to extract them out to create independent modules
-
New in v1.1: Visualizing git repository commit information, such as the most recent changes, commit authors, and the total number of commits.
Go to CodeNetVis app page on the Cytoscape App Store and click the "Install" button.
Alternatively, follow the instructions below:
-
First install Cytoscape 3.9.1+ from their official website.
-
Download the app .JAR file from this repository.
-
Copy the .JAR file into the folder
%userprofile%\CytoscapeConfiguration\3\apps\installed
-
Launch Cytoscape. A panel with the title Software Layout should appear to the left of the editor.
Required: install Maven 3.8.x, Java SDK 11.0.x, IntelliJ IDEA
-
Clone the project
-
Open pom.xml, press "build file" to resolve dependencies
-
Use
mvn install
command to compile into a jar -
Move the resulting
target/*.jar
to%userprofile%/CytoscapeConfiguration/3/apps/installed/
-
You can set up a shell script that performs 3 & 4 in succession, for example:
mvn install && cp [PATH]/*.jar [PATH]
- https://github.com/BJNick/CytoscapeMagneticLayout
- https://github.com/TheAlgorithms/Java
- https://github.com/google/guava
- https://github.com/ReactiveX/RxJava
- https://github.com/MinecraftForge/MinecraftForge
- https://github.com/tensorflow/java