Fast, cost-effective coverage analysis

RapiCover reduces the time and effort required to obtain structural coverage data. Its justifications let you mark untestable code as covered by analysis, while you can also merge coverage from different test runs, even when your code changes between them.

Test on-target

Run tests directly on your test rig with RapiCover. As on-target specialists, we have experience working with complex embedded systems including those with multicore architectures, and can collect data from almost any embedded target.

After integrating RapiCover with your existing build system, it collects data while you run your tests as you would typically, for example in a continuous build environment.

RapiCover’s instrumentation overheads are extremely low, so it can collect data even from targets with limited memory.

Custom solution

Each software test project is different. Because of this, we work with you to find the best strategy to meet your needs.

We offer multiple strategies for on-target integration, flexible licensing options that don’t lock your license to a single project, and training and verification services to help you get the most from RapiCover.

RapiCover works by injecting instrumentation code into source code and executing the native build system so coverage results are collected during program execution. Data can be collected from almost any target hardware by a variety of approaches.

You can measure the most common coverage criteria required to support DO-178B/ED-12B, DO-178C/ED-12C and ISO 26262 certification using RapiCover. This includes function, call statement, branch, decision and condition coverage, and MC/DC.

Using our configurable instrumentation mechanism, you can instruct RapiCover to determine coverage for specific subprograms as necessary. After running your tests, it is easy to merge coverage data from these runs into a combined report.

RapiCover includes a powerful “justification” mechanism that lets you mark code as covered. Using this feature, you can provide a rationale for justifying the code and create templates to justify code more easily. When your code changes, justifications are automatically migrated to represent the new location of your justified code.

For more information on using justifications in RapiCover, see our white paper.

RapiCover retains information about the revision of your code it used to generate results. The tool will report an error if you try to merge coverage from incompatible revisions. RapiCover includes an Optimal Dataset Calculator feature you can use to calculate the least expensive tests you need to run again when your code changes, saving you valuable testing effort.

RapiCover can be configured to collect data in real-time while your software runs. By writing data to an external device, the data will remain in place while your system reboots, and collection can be reinitialized when it restarts. This means that you can collect coverage data across a shutdown or reset sequence. This is subject to your target hardware architecture.

RapiCover can be used to analyze software run on any host operating system or embedded target (as long as a communication channel is available).

The RapiCover tool can be run on Windows 7 or newer, Windows Server 2008 R2 or newer, and a variety of Linux distributions including Ubuntu and Red Hat. If you need support to run the RapiCover tool on older operating systems, contact us.