Verifysoft Technology

Testwell CTC++ for all coverage levels

  • Statement Coverage
  • Function Coverage
  • Decision Coverage / Branch Coverage
  • Condition Coverage
  • Modified Condition/Decision Coverage (MC/DC)
  • Multicondition Coverage (MCC)

Testwell CTC++ can be used to obtain certifications in automotive, avionics, rail transportation and medical industries for DO-178B / DO-178C (all levels) of the Federal Aviation Administration (FAA) / ED-12C of EUROCAE (European Organisation for Civil Aviation Equipment), ISO 26262, IEC 61508, EN 50128 andIEC/EN 62304.

Code Coverage for all Coverage Levels

  • Statement Coverage
  • Function Coverage
  • Decision Coverage/Branch Coverage
  • Condition Coverage
  • Modified Condition/Decision Coverage (MC/DC)
  • Multicondition Coverage (MCC)

Testwell CTC++ is the ideal tool to analyse the code coverage of your embedded targets and microcontrollers.  It can be used on hosts as well as on targets.

  • Very small instrumentation overhead
  • Analyses code coverage on all targets
  • Works with even the smallest targets
  • Works with any compiler/cross compiler


Press here to download a data sheet

More information

Testwell CTC++

Code Coverage analysis

What is code coverage analysis?

As the functionality of smart connected product increases almost exponentially, so is the complexity of the internal software.  These smart products require the highest level of reliability, as many are used in life critical systems.  Additionally, security requires that every line of code is there, by design, to run, be called or call other software functions.  This is where code coverage analysis is needed.

Code coverage analyzer will help you find the regions of your software which were not exercised by a set of test cases by creating additional test cases to increase coverage.  Additionally, it will assist you in establishing a measured code coverage.  Finally, code coverage analyzer helps to identify redundant test cases that do not increase test coverage.

coverage analyzers make the testing an automated process.  You utilize coverage analysis to verify quality of your tests. Coverage analysis requires access your program source code for some instrumentation and often requires recompiling it with a special command.

There are several code coverage levels:

Statement Coverage

This measure tells whether all possible executable statement is executed. It is a technique made to ensure that each line of the source code is covered at least once by the tests. For example, IF and FOR statements are covered.

Function Coverage

  This process measures the extent to which the functions present in source code are covered during testing. In this case functions that are in the code execution tree are tested.  These functions are tested in all possible run-tree, and with different values.

Decision Coverage or Branch Coverage

Decision coverage or Branch coverage is another process done on the code which aims to ensure that each one of the possible branches from each decision point is executed at least once and so guaranteeing that all accessible code is executed.  In this case, every decision is taken each manner, true and false. It helps in confirming all the branches in the source code.  Thus, no branch leads to erroneous behavior of the application.

Condition Coverage

Decision Coverage is a testing method which states the true or false result of each Boolean expression of your source code. The objective of decision coverage is to prove all branches of every possible decision point is executed at least once.  This is done by executing each possible decision point in the entire source code.  By running this test, your code is guaranteed not to reach a null location.

 Modified Condition/Decision Coverage (MC/DC)

For highly critical, life vital systems a Modified Condition/Decision Coverage (MC/DC) testing is required.  MC/DC verifies that all possible states of each condition is tested while all other conditions stay fixed. To further complicate the test, it verifies that any change in a particular condition will be shown to change the result.

These are the four conditions that must be fulfilled in order to conform to the MC/DC requirements:

  1. Each exit and entry point of the source code must be executed in at least one of the test cases.
  2. Every decision is tested for all possible outcomes.
  3. Each condition in a decision is tested for all possible states.
  4. Each individual condition must be shown to alter the result independently.

Pertech Embedded Solutions offers Verifysoft’s Testwell  CTC++, an On-Target Code Coverage for all embedded Targets.  This is a Code Coverage for programming languages including C, C++, Java, and C#.

Testwell CTC++ is a Code Coverage Tool which was originally developed for the Swedish Nokia company.  In 1992, it was span off and became an independent company.  Testwell CTC++ has been further developed by the company Testwell Oy.  In 2013, Testwell was acquired by Verifysoft Technology GmbH which brought this tool to become most reliable software quality tool.

Testwell CTC++ is used for quantifying Code Coverage developed on a computer, and run on  embedded targets. This tool is conforming to various Safety Standards for medical, automotive, aerospace, and industrial control, which require certification.

Pertech together with Verifysoft provide all the necessary support to help you verify your code’s quality.  You can run this tool on your own source code, to evaluate the capabilities of this critical analyzer.

Previous slide
Next slide