Current jGRASP releases are versions 2.0.0_16 (September 30, 2014) and 2.0.1 Beta 8 (November 19, 2014).
Version 2.0.1 Beta 8 includes CSD and CPG support for Java 8.
A brief video on using the viewer canvas is now avaiable.

Note to OS X Yosemite users:

It appears that some fairly recent versions of Java 6 are not compatible with Yosemite. If you are getting errors when attempting to run jGRASP after upgrading to Yosemite, you should do one of the following:

This advice may change as we get more information.

Note that if Java 7 is installed but not Java 8, jGRASP will still choose Java 6 or Java 5, because of problems with Java 7 on OS X.

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.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).