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 FAQs Pricing Docs Start free trial
Bug Hunter

Find the bug, then follow it back

We don't just tell you where the bugs are, we show you how to understand and fix them. Bug Hunter traces the paths through your code that lead to a defect, and replays them a step at a time.

Runs in the background automatically · An ever-growing catalogue of checks · Harden your code with every commit

What it hunts

Defects a reviewer can miss

Bug Hunter looks for bugs that are not easy to see with the naked eye — the ones that only appear when a particular route through the code is taken.

Dangling pointer

Memory is released, and a pointer to it is used afterwards.

Division by zero

A divisor that can reach zero on some path through the function.

Memory leak

An allocation that no path frees before the last reference to it is lost.

Null pointer dereference

A pointer that can be null exactly where the code dereferences it.

Stack address escape

The address of a local variable outlives the function that declared it.

Undefined call

A call that resolves to no definition anywhere in the parsed project.

Uninitialized value

A variable read on a path where nothing has written to it yet.

Virtual call

A virtual function reached while the object it dispatches on is not yet whole.

Why it is different

Now anyone on your team can fix bugs

A line number and a rule name tell you a bug exists. They do not tell you why. Bug Hunter will walk you through the code step by step, and explain how the bug was introduced — so the engineer who picks up the violation does not need to have written the code to fix it.

  • Can run in the background automatically while you work
  • An ever-growing catalogue of checks
  • Harden your code with every commit
The step list Bug Hunter produces for a violation, numbering each point in the code where the defect progresses.
How does it work?

See Bug Hunter in action

Four stages, from picking the checks to watching the violation disappear.

Choose your checks

Add your source code to Understand and select which checks you would like to run in the background. Bug Hunter looks for bugs that are not easy to see with the naked eye. Our patented code parsing technology will search every function and dependency for potential issues, saving your engineers valuable time.

The Bug Hunter check list in Understand, with each defect class shown as a selectable check.

Run now or anytime

After choosing the bug checks to run on your project, Bug Hunter will get to work in the background. These checks can also be run manually at any time by accessing our CodeCheck feature. CodeCheck also comes bundled with over 3,000 code requirements to choose from. You can even add CodeCheck and Bug Hunter to your CI/CD pipeline to ensure your main branch stays clean with every commit.

A CodeCheck run in Understand, showing Bug Hunter checks executing against a project.

View your violations

Issues detected by Bug Hunter appear in the Violation Browser and in the sidebar when you browse your code. Issues are saved until the bug is fixed or the ignore option is selected, even between sessions. Issues can be searched and filtered; once selected, you are taken straight to that location in your code.

The Violation Browser in Understand, listing detected issues with search and filter controls.

Walk through each step

After choosing a violation to explore, you will see a list of steps on the right that explains the exact steps required to replicate the bug. Within the code editor you will see an explanation under each line of code that explains how the bug progresses. At this point you can either click ignore to dismiss the bug, or modify the code and re-run Bug Hunter to ensure you've squashed that bug for good.

Understand's editor showing a Bug Hunter violation, with a per-line explanation under each line of code and the replication steps listed beside it.
Each step is annotated in place, so the path that produces the defect reads like a walkthrough rather than a stack trace.
Get started

Get a hands-on trial of Bug Hunter

Download a free trial and test out all of Understand's features using a sample code base, or request a demo to address your project's needs.

Included with Understand · Runs in the background or from CI · Windows, macOS and Linux