Structural Coverage Analysis
Section 08: Software Certification (DO-178C)
Definition
An analysis of the source code structure to determine which code statements, decision branches, and conditions are exercised by the requirements-based test set. Structural coverage is not a testing method but a measure of test thoroughness. DO-178C defines three levels of structural coverage, required based on the software level: (1) Statement Coverage (Level C and above) — every statement in the code has been executed at least once; (2) Decision Coverage (Level B and above) — every decision (branch) in the code has taken both its true and false outcomes at least once; (3) Modified Condition/Decision Coverage (MC/DC) (Level A) — every condition within a decision has been shown to independently affect the decision outcome. If structural coverage analysis reveals code that is not exercised by requirements-based tests, the analysis must determine whether the gap indicates missing requirements, missing test cases, dead code, or deactivated code.
Where This Shows Up
Structural coverage analysis serves as a verification completeness check. It answers the question: do the requirements-based tests adequately exercise the code? Gaps in structural coverage may indicate requirements that were implemented but not tested (missing test cases), code that implements functionality not described in any requirement (potential extraneous code), or dead code that can never be executed. MC/DC at Level A is one of the most demanding verification objectives and often drives significant testing effort.
Primary Sources
Defines structural coverage objectives and the required coverage level for each software level.
Related Terms
Need help navigating certification?
Understanding the terminology is the first step. If you need expert guidance on DO-178C, DO-254, ARP4754B, or any aspect of FAA, EASA, or TCCA certification, our team is here to help.