About Testwell CTC++

Testwell CTC++ is a Code Coverage Analyzer for C and C++. With two language add-ons, also Java and C# are supported. It measures code coverage for application software as well as embedded software. Testwell CTC++ provides all typical coverage levels required by industrial safety standards.

What does Testwell CTC++ do?

The following coverage levels are measured:

  • function coverage,
  • statement coverage,
  • decision/ branch coverage,
  • condition coverage,
  • MC/DC (modified condition/ decision coverage),
  • multicondition coverage.

The following example shows multicondition and statement coverage per function:



Beyond that, Testwell CTC++ is also able to measure the execution costs (e.g. time) for a program, helping to analyze bottlenecks or worst case execution time.

How does Testwell CTC++ work?

Testwell CTC++ is a code coverage analyzer which instruments the source code to be tested, that means, counters are added to an intermediate, internal copy of the code.

The work with Testwell CTC++ generally consists of three steps: Instrumentation, testing and generation of reports. Several independent command-line based tools are used for these steps, accompanied by different integrations for IDEs and build tool chains.



Testwell CTC++ works with every C/ C++ compiler or cross-compiler, just the compiler commands have to be configured once.

During instrumentation, a symbol file (default name MON.sym) is created, containing all relevant information about the source code and its instrumentation.

During the test run, a data file (default name MON.dat) is created, containing the coverage counter.

In the third step, reports are generated from symbol- and data files as input. The HTML report also contains an annotated version of the source code.