Is Understand a compiler?¶
No. Understand is a static source-code analyzer. It reads and parses your source to build a cross-referenced model of it, but it does not compile the code into a runnable program, and it does not execute or simulate it.
This question comes up in security reviews and, especially, in litigation, where a protective order may bar tools that "compile, interpret, or simulate" the code under review. The distinction is real and it matters.
What Understand does¶
- Parses source files to identify entities (files, functions, classes, variables) and the references between them.
- Computes metrics and checks coding-standard rules from that static model.
- Draws graphs and reports from the cross-references.
All of this is read-only analysis of the source text. To parse C/C++ accurately Understand uses a compiler front end (Clang) to understand the language — but it stops at analysis: it does not generate object code, link, or produce an executable.
What Understand does not do¶
- It does not compile your code into a binary.
- It does not run, interpret, or simulate the program or any part of it.
- It does not instrument or modify your source.
For a reviewer or legal team¶
If you need to represent this to a court, opposing counsel, or a security reviewer, the statement above is the essence: Understand performs static analysis of source code and does not compile, execute, or simulate it. For what data does and doesn't leave the machine during analysis, see What leaves the machine? (network & telemetry) and the security-review answers.