2. Evidence artifacts and lifecycle

Safety evidence is not a single document; it is a set of artifacts that each answer a different question, and whose meaning depends on when in the V-model they were produced and what they were produced against. A test specification says what should be verified and why; a test result says what actually happened; a coverage report says how much of the intended verification space was exercised; a model version says which executable representation of the design was under test. Traceability links are the connective tissue that lets an assessor move from a requirement to a test, from a test to a result, and from a result back to the exact model and configuration that produced it. This chapter defines these artifacts, their lifecycle states, and the precise semantics of the links that join them.

Artifact classes and what each one asserts

Each evidence artifact carries a distinct claim. Confusing these claims is one of the most common causes of weak safety cases, because a passing test result is often presented as if it proved requirement coverage, when in fact it only proves that one specified stimulus produced one observed outcome on one configuration.

Artifact Core assertion Typical V-model phase of origin Key identity fields
Test specification "This stimulus, under these preconditions, must produce this observable outcome, because requirement R requires it." Left side (requirements, system design, software design) spec ID, revision, linked requirement ID, preconditions, pass criteria
Test result "On configuration C, executing spec S produced outcome O at time T." Right side (unit, integration, system, acceptance test) result ID, spec ID + revision, model/config version, timestamp, verdict
Coverage report "Of the defined coverage space, fraction F was exercised by the executed test set." Right side, aggregated per level report ID, coverage criterion, model version, test set, measured value
Model version "This is the exact executable/analyzable representation of the design at a given baseline." Design and implementation phases model ID, semantic version, commit/baseline hash, tool version
Traceability link "Artifact A is related to artifact B under relation type X, valid at baseline Y." Spans all phases link ID, source, target, relation type, baseline, status

The critical discipline is that a test result must reference the revision of the test specification it executed, not merely its identifier. If the specification is later edited—say a tolerance is widened—the old result no longer supports the new specification, and the link must be invalidated or re-established. Treating identifiers as stable while ignoring revisions silently breaks the evidence chain.

Lifecycle states and why they matter for traceability

Artifacts move through states, and a traceability link is only meaningful when both endpoints are in compatible states. A reasonable lifecycle for a test specification is draft → reviewed → approved → executed → superseded/retired. A test result is recorded → reviewed → accepted (or rejected on anomaly). A model version is in work → frozen at baseline → released. Coverage reports are generated → assessed → accepted.

The practical rule: a link from a requirement to a test specification is only "satisfied" when the specification is approved and at least one accepted result exists against the same specification revision and a released model version. Any state mismatch downgrades the link to "pending" or "stale." This is what prevents a safety case from citing a draft test or a result produced against a superseded model.

A useful mental model: the model version is the subject of verification, the test specification is the question, the test result is the answer, and the coverage report is the scope of questioning. Traceability links assert that the question was asked of the right subject and that the answer is still valid.

Link semantics across V-model phases

Not all traceability links mean the same thing. A link from a system requirement to a system test specification is a verification relation; a link from a system requirement to a software requirement is a decomposition/refinement relation; a link from a test result to a model version is an execution context relation. Mixing these into a single undifferentiated "traces-to" edge destroys the ability to reason about the evidence. The figure below shows the artifact graph with typed links and the phase boundaries they cross.

Left side — specification & design Right side — verification & evidence System / Software Requirement REQ-SYS-014 · rev 3 · approved Test Specification TS-014-02 · rev 2 · approved Model Version MDL-BRK-01 · v1.4.2 · released Coverage Criterion Definition MC/DC · decision set D-07 Test Result TR-014-02-017 · pass · accepted Coverage Report CR-014 · MC/DC 96.4% · assessed Execution Context toolchain v5.1 · config CFG-A Anomaly / Deviation Record AN-014-03 · open verifies executed-as subject-of measures aggregates-into produced-under raises All links carry a baseline identifier; a link is valid only when source and target revisions belong to the same released baseline.

Two link types deserve special attention. The subject-of link (test specification → model version) is what makes a result reproducible: without it, a passing result cannot be tied to the design it verified. The measures link (coverage criterion → coverage report) is what makes a coverage number interpretable: "96.4% MC/DC" is meaningless unless the report states which decision set and which model version it was measured against.

Worked example: establishing a valid evidence chain

Consider a brake-by-wire controller. Requirement REQ-SYS-014 (rev 3) states that the actuator must reach commanded pressure within 80 ms under nominal supply. The team writes test specification TS-014-02 (rev 2) with a step-input stimulus, a precondition of supply voltage 12.0 V ± 0.2 V, and a pass criterion of settling time ≤ 80 ms measured at the pressure sensor output. The model MDL-BRK-01 is frozen at v1.4.2 and released. Execution on configuration CFG-A with toolchain v5.1 produces result TR-014-02-017 with measured settling time 71 ms and verdict pass.

To accept this chain, the reviewer checks four conditions in order:

  1. The specification revision executed (rev 2) equals the currently approved revision. If rev 3 exists, the result is stale.
  2. The model version referenced by the result is the released v1.4.2, not a working copy.
  3. The execution context (CFG-A, toolchain v5.1) matches the configuration declared in the test specification's preconditions.
  4. The coverage report CR-014 was generated from the same model version and the same test set that includes this result.

If any condition fails, the link status becomes stale or pending, and the safety case must not cite the result as satisfying the requirement until re-execution or re-baselining occurs. A common failure symptom is a coverage report showing high coverage while the underlying results were produced against an older model—an inconsistency that only surfaces when the model-version field is compared across artifacts.

Do not let tooling auto-generate "traces-to" links without a relation type. An untyped link cannot distinguish "this test verifies this requirement" from "this test was mentioned in the same review." When an assessor asks why a requirement is considered verified, an untyped graph gives no defensible answer.

Practical artifact record template

The following record structure, applied per artifact, keeps the chain auditable. Fields are illustrative and should be adapted to the organization's configuration management system.

artifact:
  id:            TS-014-02
  class:         test_specification
  revision:      2
  state:         approved
  baseline:      BL-2024-11
  links:
    - type: verifies
      target: REQ-SYS-014
      target_revision: 3
    - type: subject-of
      target: MDL-BRK-01
      target_version: 1.4.2
  preconditions:
    supply_voltage: "12.0 V +/- 0.2 V"
    config: CFG-A
  pass_criteria:
    settling_time_ms: "<= 80"
  results:
    - TR-014-02-017   # pass, accepted, same baseline

The lifecycle discipline is what turns a folder of documents into evidence. Each artifact must be revision-pinned, state-tracked, and joined to its neighbors by a typed link that carries a baseline. When those three properties hold, an assessor can traverse from any requirement to the exact model, test, result, and coverage measurement that support it—and can see immediately when any of them has drifted out of alignment.