Skip to content

What is Understand and what can it do for me?

Understand is a static analysis and code-comprehension tool. You point it at source code and it builds a cross-referenced database of everything in it — every function, class, variable, file, and the relationships between them — without running the code. It reads your existing source; it does not move, rewrite, or require building it (though for C/C++ knowing the build makes analysis more accurate).

It is built for the questions people actually ask when they open an unfamiliar or large codebase:

The four questions Understand answers

"What is this codebase?"

Get oriented fast. Understand parses the whole project and gives you navigable views of its structure — files, directories, and every declared entity — plus visual overviews. This is the core job for onboarding to a new project or reverse-engineering legacy code.

"Where is X used?"

Pick any function, class, or variable and see every place it is referenced. The Information Browser lists its uses, callers, and definitions, and lets you jump to each one. No more guessing whether a grep hit is the symbol you meant — the answer is resolved against the actual parse.

"Who depends on this?"

See relationships between parts of your system — call graphs, include/import dependencies between files and directories, and higher-level architectures you define. Understand can show these as interactive graphs or as dependency reports.

"Is it risky?"

Find the code most likely to cause trouble: complex, hard-to-maintain functions, dead code, and quality/standards violations. Understand computes metrics (such as cyclomatic complexity) and runs CodeCheck, a static-analysis engine with built-in checks for coding standards like MISRA and others.

What that gives you, feature by feature

You want to… Use
Inspect one entity and all its relationships Information Browser
See structure and dependencies visually Graphs
Reason about system-level structure and enforce rules Architectures
Measure complexity, size, and other quality signals Metrics
Check code against coding standards CodeCheck
Compare versions and track change Compare
Script or automate analysis APIs and the und CLI
Ask questions in natural language AI chat

Where it fits

Understand supports many languages and mixed-language projects — see which languages, compilers, and OSes are supported. It runs as a desktop GUI and, for automation and CI, entirely from the command line.

Ready to try it? Download Understand & create an account, then Quick start: create, analyze, explore.