New Onboard is here — AI-guided, self-hosted onboarding for your codebase. Learn more
Features Code Navigation Static Analysis Graphs Compliance Metrics Custom API How it works Compliance FAQs Pricing Docs Start free trial
CodeCheck

Clean code, every commit

Use our CodeCheck feature to eliminate bugs, comply with coding standards, and track progress. Checks can be automated to verify naming guidelines, metric requirements, published best practices, and more.

3,000+ rules bundled · 91% MISRA coverage · 90% AUTOSAR coverage

The CodeCheck dashboard in Understand, summarizing rule violations found across a project.
Overview

One rule engine for published standards and your own

Understand provides a tool called CodeCheck to make sure your code conforms to published coding standards or your own custom standards. The same engine runs a MISRA rule, an internal naming convention and a Bug Hunter path analysis, so there is one place to configure what "clean" means for your project.

  • Automate checks to verify code against industry standards like AUTOSAR and MISRA
  • Run our Bug Hunter checks to track down bugs like null pointer dereference, divide by zero, memory leaks, and dangling pointers
  • Let our experienced software engineers create custom checks for any standard
CodeCheck configuration in Understand, with the rule library on the left and the selected checks for this project on the right.
Pick the rules that apply to your project, save them as a configuration, and rerun them on demand or from CI.
What ships with CodeCheck

Six things you get out of the box

Every installation of Understand includes the full rule library, the reporting, and the command line runner.

Bug Hunter

Catch major bugs like null pointer dereference, divide by zero, memory leaks, and dangling pointers. Walk through your code step by step to understand how a bug was introduced.

Complete customization

We have an easy to use API, UI, and command line interface designed to help you create and enforce any custom coding standard. You can also request our engineers to create a custom check for you.

Generate reports

Dive deeper into your code with enhanced interactive reports that include a variety of customization options like charts, tables and images.

Automated results

All of our checks can be set up to run from a command line. Add CodeCheck to your CI/CD pipeline to ensure every single commit is safe and bug free.

Standard compliance

Complying with industry standards like MISRA and AUTOSAR doesn't have to be expensive. CodeCheck comes bundled with several industry standards to prove your compliance.

Track your progress

See how your code is trending over time. Set a baseline inspection and compare two different inspections, or add Git integration to compare your results for different commits.

Standards

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.

3,000+ customizable rules

All rules come standard with every installation of Understand.

91% MISRA rules coverage

Checks available for MISRA C 2004, MISRA C 2012, and MISRA C++ 2008.

90% AUTOSAR rules coverage

We have 362 AUTOSAR rules available and Understand is ISO 26262 certified.

Detailed compliance reports

The compliance report is the artifact you hand to an auditor: every rule in the standard, whether it is enforced, and what was found. It is generated from the same run that CI executes, so the report and the build agree.

  • Valid proof of MISRA compliance
  • Multiple configurations and custom rules in the same report
  • Add it to your build pipeline to ensure continuous compliance
A CodeCheck compliance report listing each rule in the standard alongside its enforcement status and violation count.
Check your code using CodeCheck

A quality code check tool

Whether you're working against industry standards or your own, CodeCheck makes sure your code is compliant.

The right tool for the job

Point CodeCheck at a configuration and it reports every violation in the project, grouped so you can see which files and architectures carry the weight rather than scrolling one long list.

AUTOSAR violations from a CodeCheck run grouped by file, with counts per rule.
An AUTOSAR run over a real project, broken down by file.

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.

The Understand editor with a violation flagged inline next to the offending line of code.

Write your own checks in Python

Write your own CodeCheck scripts using Understand's Python API. A check is an ordinary Python script with access to the parsed model of your project — the entities, the references between them, and the raw lexemes of every file — so a house rule that no grep can express becomes a few dozen lines.

A custom CodeCheck written in Python using the Understand API.

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.

The certification mark awarded to Understand for use in safety-related development.
Automate your code

Put the checks in the pipeline

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.

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.

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.

Functional safety

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.

Functional safety certification seal for Understand.

“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.”

Questions

CodeCheck, briefly

Which published standards are included?

MISRA C 2004, MISRA C 2012 and MISRA C++ 2008 at 91% rule coverage, and AUTOSAR at 90% with 362 rules available. Hundreds of "best practice" coding standards ship alongside them, and all 3,000+ rules come standard with every installation of Understand.

Can I write my own checks?

Yes. There is an API, a UI, and a command line interface for creating and enforcing any custom coding standard. If you would rather not write them yourself, our engineers will create custom checks for you, or teach your team how to write them.

Can CodeCheck run in CI?

All of our checks can be set up to run from a command line, so CodeCheck drops into an existing CI/CD pipeline. From there you can verify compliance, fail a build when complexity passes a threshold, or email the team a comparison graph.

Which languages can CodeCheck check?

C and C++ first, but not only those — CodeCheck verifies code against a variety of popular coding languages including Python and Java. The full list is on the supported languages page.

How do I prove compliance to an auditor?

Generate a compliance report. It is valid proof of MISRA compliance, it covers multiple configurations and custom rules, and because it is produced by the same run your pipeline executes, it stays current with the code.

Is Understand itself certified?

Understand is certified for use as a support tool for all projects requiring ISO 26262, IEC 61508, and EN 50128 compliance.

Get started

Clean code, starting with this commit

Download a free trial and run the full rule library against a sample codebase, or point it at your own project and see what the first inspection turns up.

Every check included · Runs from the GUI or the command line · Windows, macOS and Linux