Current jGRASP releases are version 2.0.1_09 (October 8, 2015) and version 2.0.2 Beta 5 (December 2, 2015).
Version 2.0.2 Beta 4 introduces scaled toolbar icons (larger icons on high DPI displays).
A new tutorial "Using JUnit with jGRASP" is available.
A brief video on using the viewer canvas is available.

About jGRASP

jGRASP is a lightweight development environment, created specifically to provide automatic generation of software visualizations to improve the comprehensibility of software. jGRASP is implemented in Java, and runs on all platforms with a Java Virtual Machine (Java version 1.5 or higher). jGRASP produces Control Structure Diagrams (CSDs) for Java, C, C++, Objective-C, Python, Ada, and VHDL; Complexity Profile Graphs (CPGs) for Java and Ada; UML class diagrams for Java; and has dynamic object viewers and a viewer canvas that work in conjunction with an integrated debugger and workbench for Java. The viewers include a data structure identifier mechanism which recognizes objects that represent traditional data structures such as stacks, queues, linked lists, binary trees, and hash tables, and then displays them in an intuitive textbook-like presentation view.

jGRASP is developed by the Department of Computer Science and Software Engineering in the Samuel Ginn College of Engineering at Auburn University.

Note on Tutorials

We are in the process of updating the tutorials for jGRASP 2.0. The four updated tutorials that are available now cover most of the new features.

New Releases

Version 2.0.2 Beta 2 introduces auto-import for interactions, and other interactions fixes and improvements.

As of 2.0.2 Beta, interactions supports static imports. Interactions will now accept but ignore generics notation. We are working toward generics support in interactions and workbench.

Version 2.0.2 adds multi-line edting in interactions, CSD generation in interactions, and undo/redo in interactions and Run I/O.

Version 2.0.1 adds CSD and CPG support for Java 8 syntax. UML, Interactions, Workbench, and debugger Eval table have not yet been updated for Java 8. These items will be completed in the next few months.

Version 2.0.0_16 adds full support for Unicode path names when compiling or running Cygwin programs on Windows.

Version 2.0.0_08 introduces basic support for Java 8. It should run correctly under Java 8 and all functions should work correctly for code compiled under Java 8 unless it has new Java 8 features.

Version 2.0.0_08 has much better display speed when running under Java 7 on most Mac OS X systems. Fonts should now be sized similarly to native applications on OS X when running under Java 7 update 40 and higher.


The development of jGRASP has been supported by a research grant from the National Science Foundation.

The development of previous versions of GRASP was supported by research grants from NASA Marshall Space Flight Center, the Department of Defense Advanced Research Projects Agency (ARPA), and the Defense Information Systems Agency (DISA).