Understand

Understand — Free Download. Static analysis and code metrics
A static analysis tool to maintain, measure, and analyze critical or extensive code bases. It supports multiple programming languages including C/C++, C#, Java, Python, Fortran, and web languages such as PHP, JavaScript, and HTML.
5.0(1 ratings)

Download Understand (Official links)
File size: 1798 MB
The latest version of Understand is: 7.2.1245
Operating system: Windows, Linux, MacOS
Languages: English
Price: $0.00 USD

  • Dependency analysis. Complete visualization of dependencies between files, classes, and functions. Identifies complex relationships in the code to predict the impact of modifications. The analysis includes direct and indirect dependencies.
  • Code metrics. Calculation of over 100 metrics at the file, class, function, and project level. Includes cyclomatic complexity, depth of inheritance, coupling, and cohesion. The metrics help identify problematic code.
  • Control flow graphs. Visual representation of function and method execution. Shows all possible execution paths within a code unit. Facilitates understanding of complex logic.
  • Call trees. Hierarchical visualization of relationships between functions that call each other. Can be expanded recursively to show complete execution chains. Includes both incoming and outgoing calls.
  • Cross-reference navigation. Search and navigation system for all references to code entities. Locates definitions, declarations, and uses of any variable, function, or class. Operates in real-time.
  • Code comparison. Tool for comparing two different states of a project. Detects changes at the file, folder, entity, or architecture level. Shows structural and metric differences.
  • UML graphs. Automatic generation of UML class diagrams from source code. Shows inheritance, composition, aggregation, and association relationships. Diagrams update with code changes.
  • Butterfly graphs. Specific visualization that shows both incoming and outgoing calls of a function simultaneously. Provides complete context about a function's place in the architecture.
  • Coding standards analysis. Automatic verification of compliance with coding standards. Configurable for different style conventions and quality rules. Generates violation reports.
  • Custom scripting API. Programming interface to create custom analyses, graphs, and metrics. Allows automation of analysis tasks and integration with other development tools.
  • Multilingual support. Simultaneous analysis of projects using multiple programming languages. Identifies dependencies between components written in different languages. Maintains consistency in cross-analysis.
  • Search and queries. Advanced search engine with query syntax specific to code. Allows complex searches based on patterns, entity types, and attributes. Results are navigable.
  • Generated documentation. Automatic creation of technical documentation from source code. Includes descriptions of interfaces, relationships, and structures. Documentation is linked to the original code.
  • Impact analysis. Assessment of the potential consequences of code changes before they are implemented. Identifies components affected by proposed modifications. Reduces maintenance risks.

The development of Understand began in 1996 by Scientific Toolworks. The application was initially created for Ada code analysis, later expanding to other languages. The developers are Scientific Toolworks Inc., a company specialized in code analysis tools. The implementation uses C++ for core components, with interfaces in several languages for integrations. The first commercial version was released in the late 1990s, continuously evolving with support for new languages and analysis capabilities.


Alternatives to Understand: