The current jGRASP releases are version 2.0.6_10 (August 10, 2022) and version 2.0.6_11 Beta 9 (September 8, 2023).
The jGRASP Plugin for IntelliJ current release is version 1.0.4 (June 1, 2021).
The jGRASP Plugin for Eclipse current release is version 1.0.0 Beta 10 (September 9, 2020).

New Features

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.

jGRASP version 2.0.6_11 Beta 7 introduces CSD support for switch expressions in Java (previously, switch expressions were parsed but no CSD diagram segment was produced for them). The diagram segments for these are not attached to the main diagram and can have arbitrary indentation, similar to the CSD diagram segments for lambda expressions and anonymous inner class creation expressions.

jGRASP version 2.0.6_11 Beta 6 includes a 2D array image viewer (shows a 2D int array as RGB pixels) and a "musical" bar graph viewer. Videos showing the capabilities of these viewers are available: Musical Sorting, Conway's Game of Life, Mandelbrot Set Zoom.

jGRASP version 2.0.6_11 Beta 4 introduces compile and run support and integrated debugging for Kotlin/JVM. The data structure viewers and canvas will work with Kotlin, but they haven't yet been optimized for it. Interactions can be used to interface with a Kotlin program at a breakpoint, but Java syntax must be used.

jGRASP version 2.0.6_11 Beta 3 introduces syntax coloring support for Kotlin files.

jGRASP version 2.0.6_09 for MacOS has universal 64 bit Intel / ARM 64 binaries. A version bundled with OpenJDK for ARM 64 is also available.

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

Current Development

We are currently building a gdb/lldb interface for the debugger and visualizations in jGRASP, with support initially for C and C++ and the potential for other languages in the future. In parallel with this, we are developing a viewer/canvas plugin for Visual Studio Code.


The development of jGRASP plugins for Eclipse, IntelliJ, and CLion and future jGRASP C/C++ visualizations is 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).