jGRASP An Integrated Development Environment with Visualizations for Improving Software Comprehensibility

Contact Us
Team Members
Privacy Policy
Support jGRASP


On-line Papers
Known Bugs
Version History
Future Plans

Intro Videos

Getting Started
Canvas (short)

Tutorials (PDF)

Overview (2.0)
Getting Started (2.0)
Objects First
CSD (2.0)
Canvas (2.0)
All (zipped)


Current jGRASP releases are versions 2.0.0_16 (September 30, 2014) and 2.0.1 Beta 3 (October 21, 2014).

Version 2.0.1 Beta 3 includes CSD support for Java 8.

Note to OS X Yosemite users:

It appears that some fairly recent versions of Java 6 are not compatible with Yosemite. If you are getting errors when attempting to run jGRASP after upgrading to Yosemite, you should do one of the following:

  • Install the latest Java 8 JDK from Oracle.
  • Upgrade Java 6 from Apple using Software Update.

This advice may change as we get more information.

Note that if Java 7 is installed but not Java 8, jGRASP will still choose Java 6 or Java 5, because of problems with Java 7 on OS X.

About jGRASP

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.

New Releases

Version 2.0.1 adds CSD support for Java 8 syntax. CPG, UML, Interactions, Workbench, and debugger Eval table have not yet been updated for Java 8. These items will be completed in the next few months.

Version 2.0.0_16 adds full support for Unicode path names when compiling or running Cygwin programs on Windows.

Version 2.0.0_08 introduces basic support for Java 8. It should run correctly under Java 8 and all functions should work correctly for code compiled under Java 8 unless it has new Java 8 features.

Version 2.0.0_08 has much better display speed when running under Java 7 on most Mac OS X systems. Fonts should now be sized similarly to native applications on OS X when running under Java 7 update 40 and higher.

New Features in jGRASP 2.0.0

A new Viewer Canvas for Java that allows multiple viewers to be placed in one window, and the open viewers and viewer settings to be saved to file and to persist between debugging sessions.

Unicode support with the ability to manually specify the encoding (if something other than the system default is needed) when opening or saving a file.

Support for Python, including CSD generation.

Project management for C, C++, Objective-C, and Ada: the ability to compile and link multiple files without creating a makefile and support for separate source and binary directories.

Changes to the CSD so that with the CSD removed the code is formatted with standard 3 space indentation. There are no longer 3 leading spaces on all code. Exception handlers no longer have an "extra" level of indentation. The new CSD generator will attempt to correct for code with leading space (code indented with CSD generation in older versions of jGRASP) and for code with an indent size different from 3 spaces.


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

Download jGRASP

Institutions Using jGRASP

Support jGRASP

Control Structure Diagram (CSD)

UML Class Diagram

Java Workbench



Java Debugger

Complexity Profile Graph (CPG)

Copyright © 2014 Auburn University
Valid HTML 4.0