Scitools Understand

Published:
631 MB 30 downloads

SciTools Understand (often just called Understand) is a powerful, cross-platform software application used by developers, architects, and managers for static code analysis and software comprehension.

It is primarily designed to help users quickly and deeply understand large, complex, or inherited codebases (often referred to as legacy code) by providing numerous ways to visualize, measure, and document the source code.

Core Purpose: Code Comprehension

The main goal of Understand is to untangle complexity and answer fundamental questions about a code base:

  • What does this code do?

  • Where is this function called from?

  • What will happen if I change this variable?

  • How are the different modules connected?

Key Features

Feature Category DescriptionCode Visualization (Graphs)Generates interactive graphical representations of the code structure, including:

Call Graphs (who calls whom), Control Flow Graphs (logic within a function), Dependency Graphs (how files/modules rely on each other),

Butterfly Graphs, and UML Class Diagrams.

Code Metrics & ReportsCalculates hundreds of industry-standard software metrics (e.g., Cyclomatic Complexity, Lines of Code, Coupling, Cohesion) to measure code quality, risk, and testability.

Metrics can be viewed visually in heat maps/treemaps.

Static Code AnalysisFeatures an integrated compliance validation tool called CodeCheck to enforce internal coding standards and check compliance against external standards like MISRA, AUTOSAR, and CERT.

Code NavigationProvides advanced search, cross-referencing, and browsing tools that let you instantly jump to definitions, declarations, references, implementations, and calls across multi-million line, multi-language projects.

Architecture AnalysisAllows users to define high-level architectures (logical groupings) within the tool and visualize dependencies between these custom groups, making large-scale refactoring and maintenance safer.

Legacy Code SupportHelps with reverse engineering and documentation by generating reports and diagrams that show the structure and interaction of components.

Supported Languages

Understand is a multi-language tool and can analyze a single project written in multiple languages simultaneously. It supports a vast array of languages, including:

  • C / C++ (including C++23)

  • C#

  • Java

  • Python

  • Ada

  • FORTRAN

  • VHDL

  • Delphi/Pascal

  • PHP, HTML, JavaScript, TypeScript, XML

  • And many others, often catering to embedded systems (like JOVIAL, Assembly, etc.).

Installation and activation instructions are included in the package (inside).

Frequently Asked Questions

Mount the image and run Open Gatekeeper friendly.

Press Enter to bypass Gatekeeper in the Terminal window.

Drag the application to the Applications folder.

The application is ready for use.

ATTENTION! SIP must be disabled. Learn more >

Restart your Mac and hold down Command + R to enter Recovery Mode.

Open Terminal from the Utilities menu.

Enter the command: csrutil disable

Restart your Mac.

This is a common Gatekeeper issue. Follow these steps:

1. Open Terminal

2. Enter: sudo xattr -rd com.apple.quarantine /Applications/AppName.app

3. Replace "AppName" with the actual application name

4. Press Enter and enter your password

Yes, all our downloads are thoroughly checked for viruses and malware.

We use multiple antivirus engines to scan every file.

Our team tests each application before publishing.

We never bundle adware or unwanted software.

Yes, we regularly update our applications to the latest versions.

You can check our website for updates or subscribe to our newsletter.

We strive to provide the most recent versions within 24-48 hours of release.

If a download link is not working, please:

1. Try a different browser

2. Clear your browser cache and cookies

3. Try the alternative download links provided

4. Contact our support team if the issue persists