Verified Systems International GmbH

Quality Assurance for Embedded Systems

Code Coverage Branch Monitor

The Code Coverage Branch Monitor (CCBM) is a set of utilities that allow instrumentation of C source code for the purpose of branch coverage measurement. This encompasses operations for code instrumentation, removal of this instrumentation, retrieval of coverage information, merging coverage information, and displaying this information with reference to the (original) source code.

Overview

CCBM Key Features

The CCBM supports

Operation

The instrumentation basically adds a bit-assignment to every branch in the control flow. Initially 0, a set bit indicates that the corresponding branch has been executed. The bit-assignment can only distinguish “not reached” and “reached”; how often a reached branch in the source code has been executed is not measured.

The coverage information is usually read-out in some test environment of a project. This read-out happens in an internal (ASCII-based) format and can be associated with the instrumented source files later. The CCBM provides operations for computing representations of the coverage information per source code line and can summarise this in HTML overview files.

Workflow

CCBM Workflow

Reference Projects

The CCBM has been successfully applied in various Level-B and Level-C projects in the avionics field, including the Airbus/KID A350XWB, A380 and A340/A318 families and the IMA OSCM component.

At Bremen University, the CCBM is used in the analysis of an kernel implementation for avionics (ARINC-653 API).

Availability

The CCBM is available for

Other platforms may be supported on request.

News Feed

Annoucements on new CCBM releases are available via RSS feed RSS Feed Logo. This feed is also used to inform about any serious problems with some released versions.

A complete list of CCBM-related announcements is available here.