Esterel Technologies

How is a software verification performed?

DO-178B/ED-12B defines specific verification objectives that must be satisfied; these include:

  1. Verification of software development processes
  2. Review of software development life cycle artifacts Functional Verification of software
    1. Requirements-based testing and analysis
    2. Robustness testing
  3. Sructural Coverage Analysis

Structural Coverage Analysis is generally perceived to be the most difficult task to undertake by people unfamiliar with rigorous code development and testing. Furthermore, an operating system is tightly integrated with the hardware, cache, interrupts, memory management, and process/task management, thereby making structural testing even more difficult. These low-level aspects create a significant challenge to the verification process. For example, Level A certified applications must address:

  1. Statement Coverage
  2. Decision Coverage
  3. Modified Condition/Decision Coverage (MCDC)

and from the code coverage table above along with:

  1. Identification of dead or deactivated code
  2. Traceability from source to object code

Fortunately, a variety of commercial tools are available to assist in this challenging task.

In addition, if a modern tool like SCADE is used, much of the traditional coverage analysis and coverage testing can be elimiated. See SCADE for a description of this efficient design and deployment environment.

© 1999–2008 Esterel Technologies, Inc. All rights reserved.