Understand

SciTools Understand, the ‘Swiss army knife’ for developers to maintain, measure and visualise the source code of your applications

Understand offers a unique solution for understanding complex or poorly documented legacy code. Visualise the structure of complex legacy code, carry out impact analyses and obtain accurate measurements of your application.

Understand

Understand your code

Accessible directly via a browser, SciTools Understand provides a comprehensive and intuitive overview of your software. With a wide range of metrics, customisable reports, graphs, dependency analysis tools and advanced search capabilities, you can quickly get a detailed overview of your source code. What’s more, with a flexible and comprehensive programming interface, SciTools Understand is the ideal editor for code maintenance and in-depth understanding…

Code Graphs

Generate a series of graphs that can be dynamically regenerated on the basis of graph-specific parameters, such as nesting level or code display, or by expanding/reducing entities.

Control Flow
Calls and/or Called By
UML Sequence

Code Metrics

Contextual metrics generated as part of standard project analysis

Examine metrics at project level or at a granular level by folder, file or function

Configure architectures to view metrics for custom code components/modules

Report violations of metric limits defined with CodeCheck

Custom Architectures

Configure custom architectures that match the requirements of the project structure or any other requirement. Grouping options can include development teams, code origin (third-party code, OSS, library), security level or any other criteria.

  • Generate graphs highlighting dependicies between nodes including calls, includes, uses
  • View metrics per Architecture node
  • Configure CodeCheck analysis per Architecture node

CodeCheck

Highlight coding and syntax violations

Assist in identifying violations of common coding standards

Configure and report violations of metric limits

Develop your own custom control rules to meet your requirements

Bug Hunter

A static analysis for C and C++ is now available in Understand, allowing you to detect division by zero, null pointers, memory leaks and the use of uninitialised values….

Dangling Pointer
Memory Leak
Stack Address Escape
Uninitialised Value

Division by Zero
Null Pointer Dereference
Undefined Call
Virtual Call

In addition to highlighting where a critical violation may occur, Understand Bug Hunter provides step by step details of the path taken through the code to reach that state.

Control flow version diff
(Added content in green, deleted in red)

Comparison

Compare entities within a project and display a diff view of the differences

Compare files/folders, examine modified, added or deleted files and display a differential view of modified files

Compare source code revisions, generate diff views of modified entities or graphs displaying the changes between revisions