Your browser does not support JavaScript! Skip to main content
Free 30-day trial Customer portal Contact
 
Rapita Systems
 

Industry leading verification tools & services

Rapita Verification Suite (RVS)

  RapiTest - Unit/system testing   RapiCover - Structural coverage analysis   RapiTime - Timing analysis (inc. WCET)   RapiTask - Scheduling visualization   RapiCoverZero - Zero footprint coverage analysis   RapiTimeZero - Zero footprint timing analysis   RapiTaskZero - Zero footprint scheduling analysis

Multicore verification

  CAST-32A Compliance   Multicore Timing Solution   RapiDaemons

Services

  V & V Services   Qualification   Training   Tool Integration

Industries

  Aerospace (DO-178C)   Automotive (ISO 26262)   Space

Other

  RTBx   Mx-Suite   Software licensing   Product life cycle policy

Latest from Rapita HQ

Latest news

Propelling the next generation of scientists
DO-178C Virtual Training - November 2020
NXP MCFA 2020

Latest from the Rapita blog

Leveraging FACE Conformance Artifacts to Support Airworthiness
Assured Multicore Partitioning for FACE Systems
Going above and beyond the quality standards

Upcoming events

Safe Use of Multi-Core Processors Seminar
2021-04-05

Technical resources for industry professionals

Latest White Papers

Multicore Timing Analysis for DO-178C
Seven Roadblocks to 100% Structural Coverage (and how to avoid them)
Eight top code coverage questions in embedded avionics systems

Latest Videos

MASTECS Project
Testing using the RapiTest scripting language thumbnail
Testing using the RapiTest scripting language
Continuous verification with RVS and Jenkins Thumbnail
Continuous verification with RVS and Jenkins
Zero footprint timing analysis with RapiTime Zero Thumbnail
Zero footprint timing analysis with RapiTime Zero
RapiTask Zero Thumbnail
Zero-footprint system event tracing with RapiTask Zero

Latest Webinars

Incremental Assurance of Multicore Integrated Modular Avionics (IMA)
Certifying multicore systems for DO-178C (CAST-32A) projects
Airborne Safety with FACE™ in the Digital Battlespace

Latest Case studies

Cobham Aerospace Connectivity: RapiCover continues to deliver on the most challenging targets
DO-178B Level A Embraer FCS
Validation of COTS Ada Compiler for Safety-Critical Applications

Discover Rapita

Who we are

The company menu

  • About us
  • Customers
  • Distributors
  • Locations
  • Partners
  • Research projects
  • Contact us

Careers

Careers menu

  • Current opportunities & application process
  • Working at Rapita

US office

+1 248-957-9801
info@rapitasystems.com
41131 Vincenti Ct.
Novi, MI, 48375
USA

UK office

+44 (0)1904 413945
enquiries@rapitasystems.com
Atlas House
York, YO10 3JB
UK

Back to Top

If RapiTime provides Ipoint coverage, why do I need RapiCover?

Breadcrumb

  1. Home
  2. Blog
  3. If RapiTime provides Ipoint coverage, why do I need RapiCover?
2013-10-09

Users of RapiTime will probably be aware that one of the categories of information shown in a RapiTime report is "Ipoint Coverage". So, given that RapiTime supplies coverage information, why do you need RapiCover?

The answer relates to the way this information is intended to be used, and also the sections of the source code that it relates to.

What is the purpose of RapiTime's Ipoint coverage measurement?

At first glance, RapiTime provides coverage information, i.e. an indication of how much code was exercised during testing. However, there is a specific motivation behind RapiTime’s display of coverage data.

RapiTime's analysis is carried out at the basic block level - as part of the process it generates a control-flow graph representing all the possible paths through all the blocks in the software. It then inserts instrumentation at the scope boundaries to allow it to calculate the execution time of each basic block. By a combination of analysing all the possible paths through the code, and measuring the execution time for each basic block, RapiTime is able to calculate a worst-case execution time value for the software.

In order to ensure this value is accurate (in particular, to make sure that the WCET is not optimistic) the software must be adequately exercised during the testing. As a minimum, to obtain an accurate WCET value it is necessary to have executed each basic block of code at least once. As each Ipoint is associated with a single block of code, we can tell how effectively the code has been exercised by reporting the number of executed and un-executed Ipoints. This is reason behind the Ipoint coverage measurement shown in the RapiTime report.

So why do I need RapiCover?

Typical coverage tools provide information on so-called "structural coverage metrics" - that is, the coverage information is associated with particular elements of the source code structure. Typical structural elements include functions, statements and decisions. Software developed at the highest levels of criticality is tested for coverage at MC/DC level, which requires that the effect of each condition that can contribute to the outcome of a decision must be observed during testing. Structural code coverage information is used to confirm that software has been adequately exercised during testing, and it is this type of coverage measurement, up to and including MC/DC, that RapiCover is intended to provide.

Figure 1: RapiCover structural coverage

Because RapiTime’s Ipoint coverage is reported at the basic block level it is not possible to use it to determine structural coverage using any of the traditional metrics (other than function coverage). RapiCover inserts instrumentation to allow it to calculate structural coverage for the chosen metric. Typically, this requires more instrumentation than is necessary for timing, located at different points in the source code. The execution traces generated by instrumentation provide you with code coverage metrics which identify which sections of code are either untested or covered by unnecessary test cases.

White papers

  • Solutions
    • Rapita Verification Suite
    • RapiTest
    • RapiCover
    • RapiTime
    • RapiTask

    • CAST-32A Compliance Package
    • Verification and Validation Services
    • Qualification
    • Training
    • Integration
  • Latest
  • Latest menu

    • News
    • Blog
    • Events
    • Videos
  • Downloads
  • Downloads menu

    • Brochures
    • Webinars
    • White Papers
    • Case Studies
    • Product briefs
    • Technical notes
    • Software licensing
  • Company
  • Company menu

    • About Rapita
    • Customers
    • Distributors
    • Industries
    • Locations
    • Partners
    • Research projects
    • Contact
  • Discover
    • AMC 20-193
    • What is CAST-32A?
    • Multicore Timing Analysis

    • MC/DC Coverage
    • Code coverage for Ada, C & C++
    • Embedded Software Testing Tools
    • Aerospace Software Testing
    • Automotive Software Testing
    • Certifying eVTOL
    • DO-178C Testing

    • WCET Tools
    • Worst Case Execution Time

All materials © Rapita Systems Ltd. 2021 - All rights reserved | Privacy information Subscribe to our newsletter