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 four of these coverage levels in an overview report.

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: Instrumenting, testing and reporting. 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 and 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 counters.

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.