The current jGRASP releases are version 2.0.6_18 (August 11, 2025) and version 2.1.0 Alpha 4 (August 19, 2025).
The jGRASP Plugin for IntelliJ current release is version 1.0.6 (December 21, 2023).
The jGRASP Plugin for Eclipse current release is version 1.0.0 Beta 10 (September 9, 2020).

About jGRASP and jGRASP Plugins

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 11 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 plugins for IntelliJ (IDEA and Android Studio) and Eclipse add the viewer and canvas features to those IDEs. For IntelliJ, the viewers and canvas will also work with Kotlin (JVM) code.

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


A Note About Display Corruption on Windows

If you are experiencing display corruption in jGRASP on Windows, go to "Settings" > "jGRASP Startup Settings" in jGRASP or to "jGRASP" > "jGRASP Startup Settings" on the Windows Start Menu and turn on "Disable DirectDraw". You may also need to disable DirectDraw for other Java applications on your system, and for your own GUI programs, to avoid the same problem. A newer display driver may fix the problem, so after updating a display driver you can try changing the setting back. Normally, display speed is much faster with DirectDraw enabled.


New Features

jGRASP version 2.1.0 Alpha 4 introduces an integrated debugger and viewers for Python 3, and bundled versions that include Python 3. The debugger is functional but not entirely complete. Python 3.12 or higher is required, and the debugger has only been tested under (and probably only works under) CPython.

jGRASP version 2.0.6_18 Beta adds support for simple source files (in preview in Java 24), and modules in jGRASP projects.

jGRASP version 2.0.6_17 Beta 10 introduces full support for Java 23.

jGRASP version 2.0.6_17 Beta 6 has full CSD support for new features in Java 22.

jGRASP version 2.0.6_14 introduces debugger support for Java virtual threads, which were introduced in Java 21.

jGRASP version 2.0.6_11 Beta 9 introduces CSD support for Java module descriptor files. This is enabled through a new "Java Module Descriptor" language choice.


Current Development

We are currently working on completing the integrated debugger for Python (CPython 3.12 and higher). In the near future, interactions, workbench, and structure identifier viewers will be added, as well as some minor features that are currently missing from the basic debugger.

By the end of July, the jGRASP plugin for IntelliJ will be updated.


Acknowledgments

The development of jGRASP plugins for Eclipse and IntelliJ, and initial development of jGRASP C/C++ visualizations was supported by the Auburn Cyber Research Center.

Prior development of jGRASP was supported by a research grant from the National Science Foundation.

The development of GRASP, the predecessor of jGRASP, 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).