Automatically Check Your Code Using Understand

Nobody likes bugs in their code. Check your code using Understand's automated CodeCheck feature to ensure bugs stay where they're meant to be–out of your code.

How to Exterminate Bugs in Code

Understand provides a tool called CodeCheck to make sure your code conforms to published coding standards or your own custom standards. These checks are automated and verify naming guidelines, metric requirements, published best practices, and more.

Automate checks to verify code against industry standards like AUTOSAR and MISRA
Run checks using Perl and Python APIs
Let our experienced software engineers create custom checks for any standard Learn How

Standard Compliance Made Easy

We have hundreds of pre-made rules to allow immediate compliance with MISRA and AUTOSAR. Understand also comes with hundreds of "best practice" coding standards to ensure safety with every commit. Do you have unique coding standards not included in our default rules? No problem, Understand is compatible with custom standards, or ask us to write them for you!

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 = "";
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;
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());

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.

A Quality Code Check tool

Check Your Code Using CodeCheck

A Diverse Range of Languages

If you need a tool to check C++ code, you've come to the right place. But it doesn't stop there–CodeCheck verifies code against a variety of popular coding languages including python, java, and more.

Python API

Write your own CodeCheck scripts using Understand's Python API. You can even write scripts for your scripts. Understand is that good.

Use CodeCheck to Ensure Standards Compliance

With certifications in ISO 26262, IEC 61508, and EN 50128, CodeCheck is ready to verify your code against multiple industry standards from day one. AUTOSAR, MISRA, and C++ are all industry standards against which CodeCheck is able to verify your code. If you don't work with any of these standards, CodeCheck is also able to verify code against your own defined standard to ensure it is fully compliant.

What our users say

Beningo Embedded Group uses Understand for static analysis, metrics, graphs, and dependency analysis.

“I’ve found Understand to be useful for my embedded toolbox for the last five years or so. The tool is very versatile and can easily integrate into a build environment or DevOps systems without too much trouble”

Jacob Beningo
Founder, Beningo Group
Icon - Elements Webflow Library - BRIX Templates
Icon - Elements Webflow Library - BRIX Templates

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


​“[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


Trusted by over 20,000 developers

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

Chris Rhodes, Senior Software Engineer
Dell Inc.

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 a tremendous reverse engineering tool... with excellent metrics reporting and evolving standards verification capability.”

– Pratt & Whitney Software Developer

​“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, and I would not have had near as much confidence in my own work (assurance that I understood the code correctly).”

– Paul Hyland, Software Engineer, Lockheed Martin

Icon - Elements Webflow Library - BRIX Templates
Icon - Elements Webflow Library - BRIX Templates

Try Understand for Free Today!

Download a free trial to see how CodeCheck works on sample code