F-22 aerospace example of Understand application

Understand™ Is A Powerful UML Tool

Visualize the actual design "as built"

Instantly know your code’s design as it changes

Rapidly make sense of millions of lines of object oriented code

More than just a UML tool for object oriented code.

Understand™ is built around an intuitive static code analysis tool that will change the way you look at code. Think of it as a brain augmentation tool. Once you learn Understand™ it will help you work faster, smarter, and with fewer errors.

Understand™ Features

Manages Millions of Lines of Code

Understand™ is used daily on projects with hundreds of millions of lines of code. Know what  your code's design is, as it changes, instantly.




Understand™ analyzes and generates UML for Ada, Cobol, Ansi C, K&R C, Ansi C++, C#, Fortran, Java, Jovial, Pascal, PL/M, Python, VHDL, Web based languages (HTML, PHP, JavaScript, XML), Objective C, Objective C++ code. Understand™ can also analyze multiple languages in use together.


UML at a Click

The Unified Modeling Language is the standard way to describe objects, their attributes and methods in object oriented programming languages. Understand™ is a UML modeling tool that generates UML for your project, classes, methods instantly.


Use Understand™ on your Linux box in the lab, on your Mac at home, and your PC at your desk. It provides the same functionality across all the platforms.  


Object Oriented Metrics

In addition to showing you graphical representations of your code's "as built" design, Understand™ also measures it using common object oriented metrics, like Lack of Cohesion (LCOM) or Fan In and Fan Out.


Graphs and Diagrams

Everything in your code is analyzed and cross-referenced. Relationships are identified. You don't have to remember what objects depend on others, or what is affected if you change something. Understand™ will show you.


Just inherit a massive project? Understand™ can help.

"A large part of my career has been spent debugging and maintaining other people’s code and that means I spend a lot of time figuring out what a program actually did and how that was different from what it was supposed to do. Understand™ for C/C++ deals with that cognitive dissonance by helping me envision a program’s flow and structure and to figure out the changes necessary to fix the errors. It’s a very cool tool!"

Dave Phelps, Senior Software Engineer, Scientific Games International, Inc.

Visualize Your Object Oriented Code

Detailed graphs can be generated in 60 seconds.

Class Diagram
Understand Info Browser screenshot

Object knowledge is always up to date as it changes

The Information Browser shows everything Understand™ knows about a particular part of your software - whether it’s a C++  or Java class object, a javascript prototype, or an Ada package.

Data Members Graph

The Objects Data Members graph expands data members of objects and their base objects at a click.

Cluster call butterfly graph example

Dependency Graphs

Dependency graphs quickly and easily show what parts of your code depend on other parts.  These work on files, directories, classes and other major semantic units of your code. Dependencies can be semantic in nature (such as inherits, based from, implements), or procedurally (data is set, used, transferred). 

Do more than just maintain your code. Understand™ it.