VerOCode - Software Coverage Tool

VerOCode - Software Coverage Tool

 

Under DO-178B, a measure is required to determine if any software constructs are omitted by the requirements testing process.  This is called Coverage Analysis.  The level of detail addressed in Coverage Analysis varies with the assurance level associated with the software.

 

VerOCode - Verify Object Code

 

VerOCode is an execution trace analyzer tool that requires no special hardware.  The code under test does not need to be instrumented (function calls are not added to record execution states).  The application code is executed on a target computer (e.g. PowerPC) and the execution profile is captured on a host machine (PC/Windows NT [or higher]).

 

VerOCode uses the captured execution profile together with the linker map and the compiler-generated listing to indicate which instructions were executed, which were not executed, and the state of the condition codes during execution of conditional instructions.

 

The resultant VerOCode listings document the evidence required for Coverage Analysis by DO-178B Level A: the highest level of criticality.

 

VerOCode:

  • Shows coverage at the object code level; hence, source to object code traceability (a DO-178B Level A objective for source coverage) is not required.
  • Can combine the results of many tests to provide cumulative coverage data.
  • Enables you to obtain Modified Condition Decision Coverage (MCDC) by capturing the results of each condition independently (when the application uses some simple coding conventions).
  • Does not compromise your test results by instrumenting the code under test.
  • Can record coverage data as part of your requirements based testing, not as a special coverage test execution.
  • Can form part of a repeatable and automated test and coverage analysis script.
  • Is provided with Qualification Data, so it can be used as a verification tool and the coverage results taken for certification credit.

 

VerOCode records and displays the instructions that were executed in a program under test.  For conditional instructions, VerOCode displays the state of the condition code at each execution of the instruction.  Coverage is obtained at the machine code level, and the results are reported through an annotated program listing containing the source and assembly language expansion.

VerOCode operates in cross mode.  The Monitor and the test program (test harness and unit under test) execute on the target machine, which is connected to the host via a communications line.  After a test is run, the captured coverage data is uploaded to the host for analysis.

VerOCode is implemented with three components:  

·         The first is resident on the target system (the Monitor), which captures the coverage data.

·         The second is host-based (the Analyzer), which performs coverage analysis and reporting. 

·         Once the coverage analysis is complete, the resulting files may be annotated with the third VerOCode component, the VerOCode Coverage Editor.  This component allows you to document any deactivated code.

VerOCode is available with qualification materials, making it applicable for use on Level A systems.