Trusted by over 20,000 developers

See us in Atlanta for Super Computing

Atlanta is the place to be this fall as the high performance computing community convenes for an exhilarating week of sessions, speakers, and networking at its finest. Stop by the SciTools booth to see an in-person demo of our latest features!

Register

November 17-22, 2024

Praise From The U.S. Navy

Understand has been Spotlighted by the U.S. Navy's SBIR Transition Program

Understand helps hundreds of companies and government organizations, including the U.S. Navy, stay code compliant with our CodeCheck tool.

"NSWCDD needed a tool to ensure that their projects worked correctly and to ensure that the coding complied with the Navy Strategic Systems Program (SSP) coding standard. As an established tool that was reliable but also dynamic, flexible, and customizable, Understand piqued their interest."

-Navy SBIR Transition Program Spotlight

Read the full article here.

Try our new Visual Studio Code extension

Free with every installation of Understand

The Understand extension for VS Code makes our most used features even more accessible. Find the underlying types for variables, view control flow graphs, utilize thousands of code compliance checks, and perform a full analysis of your project in a fraction of the time compared to similiar extensions.

Go To Download

Our newest feature: Bug Hunter

Automatically detect potentially dangerous bugs, then see the steps to implement a fix

Search for difficult to detect bugs

  • Dangling Pointer

  • Division by Zero

  • Memory Leak

  • Null Pointer Dereference

  • Stack Address Escape

  • Undefined Call

  • Unintialized Value

  • Virtual Call

Get notified when bugs are found in your code

Bug Hunter will run in the background while you work and can be setup as part of your CI/CD pipeline so every commit can be bug free.

See the bug highlighted directly in your code, with a detailed explanation for each part.

Walk-through how to reproduce the bug

Bug Hunter will show you step by step how the bug can be recreated.

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Understand Legacy Code

Comply with Code Standards

Compare Code Changes

Visualize with Graphs

Insightful Metrics

Use our API

LEGACY CODE

Understand your Code

Have you recently inherited confusing legacy code? Understand is here to help.

Analyze Dependencies

Blindly changing legacy code can lead to disaster. Know what your changes will affect before you even start writing.

Navigate Cross-References

Navigating legacy code doesn't need to feel like an endless maze. Quickly navigate references to create a mental map of the code base.

View Call-Trees

Expand a function's call tree to see what any changes might affect. You can also view Butterfly, Control Flow, and many other useful graphs.

Static code Analysis

Verify your Code

Does your project require strict coding standards? Understand has the capability to check your code against industry, common, or custom standards.

Introducing CodeCheck, our code compliance solution

CodeCheck can be integrated into your CI/CD pipeline to run with every code check-in and notify team members when a compliance check has failed.

Checks against industry standards like Autosar and MISRA C/C++
Our Bug Hunter checks look for common bugs like memory leaks and dangling pointers Learn More
Let our trained software engineers write your custom standards for you! Learn How
See Pricing
Code comparison

Compare your Code

Quickly see the difference between two project states. View changes by files, folders, entities or architectures. View your changes as a text comparison or in a tree map. Just specify the git revision you would like to compare against or compare two databases.

See Pricing
GRAPHS

Visualize your Code

Quickly see how your source code is structured, organized, and related. See Control Flow, Call Trees, Dependency, Butterfly, UML Class, and many other graph types. All our graphs are interactive and customizable, expand or contract your graph to see exactly what you need.

See Pricing
METRICS

Quantify your Code

Do you need help locating the "problem" areas in your code? Understand comes bundled with dozens of metrics that help with exactly this scenario.

Measure Twice, Code Once

Understand your code's cyclomatic complexity by using various browser and display options
Receive detailed metrics about your code at the file, class, and entity levels
Export a full list of your metrics to an HTML or CSV file
CUSTOM SCRIPTING

Automate your Code

Do you prefer complete control over your coding environment? Understand comes bundled with a robust API to unlock your project's full potential.

An API for Toolsmiths

Our API allows the creation of custom graphs, metrics, and lexical analysis. Integrating with your current tools is now easier than ever! Learn More

Continuous Integration

Verify code compliance, ensure code complexity stays below a specified threshold, or email the team a code comparison graph all from your existing pipeline. Learn More

Custom Scripting

Create and enforce any custom coding standard. We can teach you how to write a standard or simply hire us to handle the entire process for you! Learn More

1def fileCleanText(file):
2	returnString = "";
3
4	# Open the file lexer with macros expanded and
5	# inactive code removed
6	for lexeme in file.lexer(False,8,False,True):
7		if(lexeme.token() != "Comment"):
8			# Go through lexemes in the file and append
9			# the text of non-comments to returnText
10			returnString += lexeme.text();
11			return returnString;
12
13# Search for the first file named ‘test’ and print
14# the file name and the cleaned text
15file = db.lookup(".test.","file")[0];
16print (file.longname());
17print(fileCleanText(file));
Hyper-Xref

Explore your Code

Navigating complex code relationships has never been easier. Hyper-Xref technology and the tools in Understand make you a safer, smarter engineer less likely to add bugs as you change code.

See Pricing

Save Time with Understand

“What would have previously taken me several days (or weeks) can now be accomplished in a matter of hours… It’s the Swiss army knife of static analysis tools.”

Randall Landaiche

Intuity

​“[Understand] is good for discovering the structure of the code dependencies and call-paths... it would have taken me hours to generate the same thing on my own.”

Paul Hyland

Lockheed Martin

​“Understand accelerates my understanding of large source code repositories.”


Chris Rhodes

Dell

Customer Case Studies

Learn how software developers across different industries use Understand to accelerate their workflows.

“[Understand] has great graphing tools, metrics, reporting, data dictionary… and is customizable and extensible. It also helps you to find compile time and parsing errors.”

– USAF Software Developer

“Understand can take existing code and basically generate any design information or view you would want to see, in addition to performing several useful types of analyses.”

– Jason Bold, Sr. Software Eng.

​“Understand™ is good for discovering the structure of the code dependencies and call-paths... it would have taken me hours to generate the same thing on my own.”

– Paul Hyland, Lockheed Martin

​“Understand is a tremendous reverse engineering tool... with excellent metrics reporting and evolving standards verification capability.”

– Pratt & Whitney Software Developer

Understand plays a pivotal role in safeguarding the safety and success of NASA’s space missions. Understand enables them to navigate the complexities of diverse codebases, proactively mitigate risks, and ensure adherence to software quality standards.

​“While other code checkers existed, each with its strengths and weaknesses, Understand’s additional features made it a valuable all-in-one tool.”

– Johannes Lang, R-Stahl

Icon - Elements Webflow Library - BRIX Templates
Icon - Elements Webflow Library - BRIX Templates
See all Case Studies

Understand is certified in ISO 26262, IEC 61508, and EN 50128

Understand by Scitools is certified for use as a support tool for all projects requiring ISO 26262, IEC 61508, and EN 50128 compliance.  Safety is our top priority at Scitools, our software is heavily tested and vetted before each release providing your team with a safe and secure development environment.

Compatible with Most Languages

See full list

See how Understand is used around the world!

We asked our users to send us pictures of their Understand setups, here are some of the submissions. Check out the full blog article

Not ready to buy a license?
Download a free trial and test out all of Understand's features using a sample code base.
Start Now

Trusted by over 20,000 developers

​“Understand accelerates my understanding of large source code repositories.”

Chris Rhodes, Senior Software Engineer
Dell Inc.