Coverage, Traceability and Verification Evidence
Certification authorities review two things: coverage data and traceability records. Coverage data shows which code was exercised and to what structural depth. Traceability records link every test result to the requirement it was designed to verify. Together they form the evidence base that ISO 26262, DO-178C, IEC 61508, and IEC 62304 require.
Requirements Traceability
Requirements-based testing is mandatory under every major functional safety standard. Each test case must be traceable to the specific requirement it is intended to verify. This bidirectional traceability between requirements and test results provides the evidence that all requirements have been tested and that no tests exist without purpose.
VectorCAST's Requirements Gateway connects to external requirements databases, imports requirements into the test environment, and allows test cases to be linked to them. After test execution, results and coverage metrics are exported back to the requirements management tool. Requirements that lack test coverage are immediately visible, as are test cases that are not linked to any requirement.
Structural Coverage
Structural coverage metrics measure how thoroughly test execution exercises the code. Safety standards prescribe minimum coverage levels based on criticality.
- Statement coverage: every executable line has been run at least once
- Branch coverage: every decision point has taken each possible outcome
- MC/DC (Modified Condition/Decision Coverage): every Boolean condition in a decision independently affects its outcome. Required for DO-178C Level A and ISO 26262 ASIL D software
- Function coverage and function call coverage: used by several standards as supplementary measures
VectorCAST measures all these coverage types. Industry Modes automatically select the correct coverage criteria for the standard and safety integrity level being targeted, eliminating the need to configure coverage criteria manually for each standard and integrity level.
MC/DC: The Highest-Integrity Coverage Criterion
MC/DC targets logical defects that statement and branch coverage leave undetected. It requires that for every Boolean condition in a decision, tests exist that show the condition independently changing the decision outcome while all other conditions are held constant.
Achieving and documenting MC/DC manually at scale is error-prone and time-consuming. VectorCAST automates the most demanding aspects: automatic instrumentation for condition-pair tracking, equivalence matrix visualization showing exactly what is covered and what is not, automated test generation targeting uncovered condition pairs, and certification-ready reports aligned with DO-178C, ISO 26262, and IEC 62304.
Coverage by Analysis
In safety-critical development, some code sections may not achieve full coverage through testing alone. Defensive coding for highly improbable conditions, error handling for hardware faults, and code protecting against compiler-specific undefined behavior may all fall into this category.
Any coverage shortfall must be justified and documented. VectorCAST's Covered-by-Analysis (CBA) feature allows engineers to designate specific code sections as covered by analysis, document the justification directly alongside the coverage data, and maintain that justification as the code evolves. Coverage reports show a unified view of measured coverage and by-analysis coverage.
Monitoring Coverage Across the Project
Individual test results and coverage reports answer questions about a single build. Squore answers questions about the project as a whole: which requirements are not yet covered, where coverage has dropped since the last build, and whether the project is on track to meet its coverage obligations before integration.
Squore aggregates coverage data from multiple sources, tracks trends over time, and enforces quality gates that prevent non-compliant code from progressing through the pipeline. Coverage obligations remain visible across the full team throughout the project.