New Features
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.
jGRASP version 2.0.6_09 Beta adds CSD and run support for new Java 17 language features (sealed classes).
jGRASP version 2.0.6_08 Beta 2 adds CSD and run support for new Java 16 language features (records and pattern-matching instanceof).
jGRASP version 2.0.6_08 Beta supports system UI scaling on Windows and Linux (automatically integer-rounded). Previously only fonts and custom icons were scaled. Now scaling will also apply to system icons on file choosers, border thicknesses, spacing and margins, etc.
jGRASP version 2.0.6_05 Beta adds CSD, interactions, and run support for Java 15 features (text blocks).
jGRASP version 2.0.6 includes dark themes.
The jGRASP Plugin for Eclipse version 1.0.0 Beta 6 adds support for the Eclipse dark theme.
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.
Acknowledgments
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).