Understand draws dependency, call, butterfly, control flow and UML diagrams straight from the parsed model of your project. Nothing is hand-drawn, so nothing is stale the moment someone commits.
Works on code that doesn't compile · No build system required · Export to PNG, SVG, Visio or Graphviz
See what changed between two versions of your project, with the differences highlighted on the graph itself.
A class with everything it inherits from, or every class in the project. Sequence diagrams trace data flow and timing for a member object.
Callers on one side, callees on the other, for any file, function, class or architecture — both directions at once.
Explore and interact with what your project actually depends on, from file level up to architecture.
A graph is your code seen sideways. It makes relationships visible, shows up patterns and mistakes that a file tree hides, and gives you something to put in front of other people.
Four things people do with Understand's graphs once the project is parsed.
Call and called-by, butterfly, object references, control flow, UML class, UML sequence, data flow, dependency and declaration — each generated from the same parsed model, so they all agree with each other.
Variants change what a graph contains and how it is drawn without starting over. Cluster variants group functions by file or architecture. The relationship variant of a call graph shows every path between two functions. The compare variant highlights what changed against a previous version of the project.
Node options, legends and the customiser toolbar control what is shown and how dense it is — useful when a graph of a real codebase would otherwise arrive as a wall of boxes.
Save as JPEG, PNG or SVG, or print it. For diagrams that need editing afterwards there are Visio (vdx, vsdx) and Graphviz (dot) exports, so the picture carries on being useful outside Understand.
“What would have previously taken me several days (or weeks) can now be accomplished in a matter of hours… It's the Swiss army knife of static analysis tools.”
Randall Landaiche“[Understand] is good for discovering the structure of the code dependencies and call-paths… it would have taken me hours to generate the same thing on my own.”
Paul Hyland“Understand accelerates my understanding of large source code repositories.”
Chris RhodesUnderstand is trusted by over 20,000 developers
Engineers across aerospace, defence and industrial safety use Understand to make sense of code they inherited.
“[Understand] has great graphing tools, metrics, reporting, data dictionary… and is customisable and extensible.”
“Understand can take existing code and basically generate any design information or view you would want to see.”
“Understand is a tremendous reverse engineering tool… with excellent metrics reporting and evolving standards verification capability.”
The trial enables every feature against a sample codebase — or point it at your own and draw the first graph in minutes.
No credit card. Windows, macOS and Linux. Works fully offline, including air-gapped.