Develop. Test. Cover.
The code coverage analyzer for C and C++ (Java as an add-on module): tests actually measured, from function level up to MC/DC, on the development desktop as well as on embedded target.
Testwell CTC++ supports C and C++, and keeps up with their constantly evolving standards. An add-on module covers the Java language.
When lives are at stake, safety standards — ISO 26262 in automotive, DO-178C in aerospace — require coverage measurement, up to the most demanding MC/DC level. Several hundred companies use Testwell CTC++ in exactly this context.
Testwell CTC++ is certified by TÜV Süd for functional safety. A Safety Package supports qualification of the tool in your context.
Testwell CTC++ provides all the measures required by the various safety standards, and visually highlights lines that were executed, not executed, and partially executed.
Was every function called?
Was every statement executed?
Was every branch (true / false) taken?
Was every condition evaluated both ways?
Modified Condition / Decision Coverage — the highest requirement in safety standards.
All condition combinations of a decision.
Measuring coverage on an embedded target poses specific challenges. Testwell CTC++ addresses them point by point.
| The challenge | Testwell CTC++'s answer |
|---|---|
| Limited memory | Inherently lightweight instrumentation, reducible depending on the workflow — down to a bit-by-bit measurement readable via the debugger. |
| Data readout | Any target ↔ host communication interface can be used. The runtime library, provided in C, adapts to the target's capabilities. |
| Cross-compilation | Compiler-independent, configurable for any C/C++ compiler. Many configurations are provided, with assistance for new compilers. |
A demonstration of coverage measurement with Testwell CTC++.
Coverage measurement for desktop applications is simple and straightforward: a slight increase in build time, libraries provided for writing the data, and high-performance reports that scale.
Components running in kernel mode are treated as embedded targets, with an adjustable runtime library.
A collection of command-line tools, Testwell CTC++ can be automated at any level: build servers and continuous integration solutions, developer workstations, in centralized or distributed mode across the instrumentation → test → reporting stages.
Instrumentation often slots into the build with no extra configuration. Integrations exist for Visual Studio and IAR Embedded Workbench, and for many other IDEs through configuration.
Unit, integration, or system tests: all can be run as usual, in automated, partially automated, or manual mode. The instrumented program writes the data during execution — a fully customizable transfer on target.
All of a project's test runs combine into a single report. The tool works with common test platforms and frameworks.
The HTML report offers overviews and detail within the source code, with configurable levels. Because reports are template-based, all text formats (XML, CSV, JSON) are supported — enough to easily feed a third-party dashboard.
Missing coverage is explained and documented through justifications, whose impact is visible across all the measures: you clearly know whether 100% of the code was tested, or at least justified.
Thousands of users worldwide rely on Testwell CTC++. The points that come up most often:
Quick to get started, including on embedded target, with no blockers on the compiler, IDE, or debugger side.
Clear reports that show precisely which conditions were tested, and which were not.
Comprehensive documentation and support for installation, configuration, and coverage measurement.
The essentials to know for evaluating the tool in your environment.
See also the regulatory coverage and the Verifysoft product sheet ↗.
A free trial to measure, concretely, what your tests really cover — or let's talk about your needs first.