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.
Version 2.0.3 supports pinch-zoom and Ctrl (or Cmd) scroll wheel zoom.
Multiple editing window tab panes (or virtual desktops, if you use them that way) are available in version 2.0.3. Currently, when jGRASP is restarted all windows will end up in one tab pane (or virtual desktop). This will be fixed in future releases.
Accessibiliy including keyboard (tab) navigation has been greatly improved in version 2.0.3. Most UI components now have useful accessible names. Work on this is continuing.
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.
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).