SciTools Understand, the Developers’ “Swiss Army Knife” for maintaining, measuring, and visualising code bases
Quickly interpret large or complex legacy code bases, often with poor documentation.
Visualize complex legacy code, perform impact analysis, and deliver powerful metrics.
Understand your code
Accessed via a streamlined Information Browser, SciTools Understand provides a comprehensive overview of your software in a quick and easy format. Rapid insight into your code base is enabled through a wide range of metrics, customisable reports, graphs, a set of dependency analysis functions and accurate search facilities. Combined with a customisable, fully-featured programming Interface, this is the best programming editor for maintaining and understanding code.
Code Graphs
Generate a range of graphs that can dynamically be renegerated based on graph specific settings, such as nesting level or displaying code, or by expanding/contracting entities.
Code Metrics
Context sensitive metrics generated as part of the standard project analysis
Review metrics at the project level or at a granular level by folder, file, or function
Configure Architectures to view metrics for custom code components/modules
Report defined metric boundary violations with CodeCheck
Custom Architectures
Configure custom Architectures that match project structure requirements or by any other requirement. Grouping options can include by development teams, code origin (third party code, OSS, library), security level, or any other focus.
- 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 boundary violations of metrics
Develop custom checks that can support custom coding guidelines
Bug Hunter
Now available for Understand are a set of advanced static analysis checks for C/C++. The new checks identify complex code problems including memory leaks, access to pointers that have been freed, and use of uninitialized 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.
Comparison
Compare entities within a project and display a diff view of the differences
Compare files/folders, review changed, added or removed files and display a diff of changed files
Compare source code revisions, generate diff views of modified entities or graphs displaying the changes between revisions