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.
In version 2.0.2, the CSD TrueType font can now be used on Mac systems. This allows jGRASP source code with CSD to be pasted into MS Word and other applications. The font is at jGRASP.app/Contents/Resources/jgrasp/data/csd16.ttf and for now must be manually installed.
Version 2.0.2 Beta 6 has many improvements for multiple displays. Visuals will now be correct for windows on a display with different device characteristics from the primary display (retina vs. non-retina, rgb vs bgr, etc.). Dialogs and other windows will now open on the display you expect them to rather than always on the primary display. The sizes and positions of all windows will now be restored exacly between jGRASP sessions and when a workspace is loaded. Editing window display speed on Mac systems has also been improved.
In version 2.0.2 Beta 4, all icons have been reworked as scalable vector icons. Icon sizes will be more appropriate by default on high DPI displays and they will look crisper on retina systems. Toolbar icon size is now adjustable using "View" > "Toolbar Icon Size".
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 Beta adds multi-line edting in interactions, CSD generation in interactions, and undo/redo in interactions and Run I/O.
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).