Product
Solutions
Resources
Company
Download Trial Book a Demo
RKTracer · Code coverage tool

The code coverage tool for every language and target

RKTracer is a code coverage tool that measures every metric, from statement and branch to MC/DC, multi-condition and delta, without changing a single line of your source code. Run it on host machines, embedded targets, GPUs and simulators.

No source changes · works with every compiler · HTML and XML reports

terminal · zero workflow change
# Just prefix your existing build command
$ rktracer make all

  auto-detecting compiler: arm-none-eabi-gcc 12.2
  instrumenting 142 source files…
   build complete, no source modified

# Run your tests, then generate the report
$ ctest && rkresults --report html
   statement 100% · decision 100% · MC/DC 99.2%
What a code coverage tool does

See exactly what your tests run, and what they miss

A code coverage tool measures how much of your source code your tests actually execute. It instruments the code, records which lines, branches and conditions run during testing, and reports the percentage covered, so you can find untested logic before it ships instead of after.

Most code coverage tools stop at statement or line coverage on a desktop build. RKTracer goes further: it measures the full set of structural metrics, up to MC/DC, on the real target you ship, and it does so without touching your source code or your build system. You prefix your build, run your tests however you already run them, and get an evidence-grade report.

Coverage metrics

Every coverage metric, from statement to MC/DC

One code coverage tool for the basics and for the hardest structural metric in software assurance.

Function, File & Line

Know exactly which functions, files and lines your tests execute.

Statement & Branch/Decision

Confirm every statement runs and both outcomes of each decision are tested.

Condition & MC/DC

The strongest structural metrics, the ones the highest assurance levels require.

Multi-Condition & Delta

Go beyond MC/DC, and focus coverage on exactly what changed each build.

Why MC/DC matters

Statement coverage is not enough for critical software

Safety standards do not just ask "did the line run?" They ask "was every condition independently shown to affect the outcome?" That is MC/DC, and it is the structural coverage the highest assurance levels call for. RKTracer measures it natively, alongside every other metric.

Coverage metricCalled for at
StatementDO-178C Level C · ISO 26262 ASIL A
Decision / BranchDO-178C Level B · ASIL B/C
MC/DCDO-178C Level A · ASIL D
Multi-ConditionDeep verification · IEC 61508 SIL 4

RKValidate is an ISO 9001 quality-certified vendor. RKTracer measures the coverage metrics these standards reference; it does not itself carry a functional-safety certification.

Coverage report · flight_law.cMC/DC measured
Function100%
Statement100%
Decision100%
Condition100%
MC/DC99%
Multi-condition94%

Color-coded to the line: green fully covered · amber partial · red uncovered.

How it works

Adopt the code coverage tool in an afternoon

No environment variables. No wrappers. No build-system surgery.

1

Prefix the build

Add the rktracer keyword to your build command. It auto-detects your compiler.

2

Instrument

RKTracer instruments during compilation, and adds its runtime automatically. Your source is never modified.

3

Run your tests

Run unit, integration, functional or UI tests on host, simulator, emulator or the real target. Coverage is captured live.

4

Get the report

rkresults emits HTML and XML for dashboards, CI and SonarQube. Merge reports across runs.

See the step-by-step guides for CMake, Makefile, IAR Embedded Workbench, Visual Studio and 30+ more toolchains.

Languages & targets

One code coverage tool across your whole stack

Targets

  • Host machines & servers
  • Embedded targets (with/without FS)
  • GPUs & CUDA
  • Simulators & emulators

Languages

10 languages, one coverage model:

CC++CUDARustC#JavaJavaScriptTypeScriptGoPython

C/C++ standards: C89 through C17, C++98 through C++23, OpenMP and OpenACC.

Compilers & CI

  • All compilers & cross-compilers
  • IAR, Keil, Visual Studio, Eclipse, CCS
  • Jenkins, Azure DevOps, GitLab
  • Publishes to SonarQube
From coverage to tests

Coverage finds the gaps. Two ways to close them.

RKTracer pinpoints the uncovered lines, decisions and MC/DC conditions. Turning those gaps into tests is your choice, and both options are part of the RKTracer tool.

RKTracer itself measures coverage; it does not generate tests. The two tools below do.

Compare RKMCP and RKTracerGen

RKMCP · AI-assisted

An MCP server that streams the uncovered code to your AI agent as JSON-RPC. The AI writes unit and functional tests plus the build, then runs and re-checks until the gaps close.

RKTracerGen · offline

A deterministic, fully offline unit-test generator. Boundary-Value Analysis, real-run oracle, managed stubs and a standalone Makefile. No AI, no tokens, no network.

RKTracer vs. typical coverage tools

Built for the work the others skip

CapabilityTypical code coverage toolRKTracer
SetupWrappers, env vars, build editsPrefix the build command
Source changesSometimes requiredNone
MC/DC & multi-conditionOften missingNative
Embedded / GPU / simulatorHost-focusedAll targets
CUDA coverageNoYes
Delta / changed-code coverageRareYes
Path to test generationNoRKMCP (AI) or RKTracerGen (offline)
Reports & CIVariesHTML / XML, SonarQube, all major CI
FAQ

Code coverage tool questions, answered

A code coverage tool measures how much of your source code your tests actually execute. It instruments the code, records which lines, branches and conditions run, and reports the percentage covered so you can see what is tested and what is not. RKTracer measures every metric, from statement and branch through MC/DC and multi-condition.
Function, file, statement, branch/decision, condition, MC/DC, multi-condition and delta (changed-code) coverage. MC/DC is the strongest structural metric and the one the highest assurance levels call for.
No. You prefix your existing build command with rktracer, or enable the IDE plugin. No source edits, no environment variables, no wrappers. RKTracer instruments at compile time and adds its runtime automatically, even when cross-compiled.
Ten languages: C, C++, CUDA, Rust, C#, Java, JavaScript, TypeScript, Go and Python. RKTracer auto-detects all compilers and cross-compilers, with IDE plugins for IAR, Keil uVision, Visual Studio, Eclipse, Code Composer Studio, Android Studio and more.
Yes. RKTracer captures coverage on host machines, embedded targets with or without a file system, GPUs and CUDA, and simulators or emulators. On targets without a file system, coverage data streams out over your existing debug transport or a RAM buffer.
Yes. RKTracer publishes HTML and XML reports, integrates with Jenkins, Azure DevOps and GitLab CI, and publishes coverage to SonarQube. Reports from multiple runs can be merged.
RKTracer measures coverage and pinpoints the uncovered lines, decisions and MC/DC conditions. To close those gaps you can use RKMCP, which serves the gaps to your AI agent over MCP, or RKTracerGen, which generates unit tests fully offline. Both are part of the RKTracer tool.

Run the code coverage tool on your own code

Download the free 30-day trial and run it on your target today, or book a 30-minute demo with an engineer.