{
  "slug": "fault-injection",
  "term": "Fault injection",
  "aliases": [
    "Fault-injection testing"
  ],
  "definition": "Fault injection is a testing method that deliberately introduces specified faults into a system to observe detection, propagation and recovery under a defined workload.",
  "note": "Report the injection point, fault selection, timing, workload, trial count and correctness oracle. A high failure fraction under deliberately injected faults does not estimate how often those faults occur in service. Distinguish observed multi-fault trials from a single-fault estimate derived under independence assumptions. [zhang2010] The companion arithmetic audit publishes observed and derived values separately. [hesela-arithmetic]",
  "status": "research",
  "advantages": [],
  "limitations": [
    {
      "text": "Coverage is bounded by the injected fault model and the observation procedure; absence of an observed failure is not proof that all faults are tolerated.",
      "citationIds": [
        "zhang2010"
      ]
    }
  ],
  "related": [
    "checksum",
    "end-to-end-data-protection",
    "crash-consistency",
    "bounded-crash-testing",
    "crash-test-oracle"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "zhang2010",
      "title": "Zhang et al., End-to-end Data Integrity for File Systems: A ZFS Case Study, FAST 2010, sections 4-6",
      "url": "https://www.usenix.org/events/fast10/tech/full_papers/zhang.pdf",
      "accessed": "2026-10-14"
    },
    {
      "id": "hesela-review",
      "title": "Hesela: ZFS and Btrfs checksum counters, with observed-versus-derived arithmetic",
      "url": "https://hesela.com/analyses/filesystem-checksum-error-detection/",
      "accessed": "2026-10-14"
    },
    {
      "id": "hesela-arithmetic",
      "title": "Hesela: executable arithmetic audit of published fault-injection summary percentages (JSON with code provenance)",
      "url": "https://hesela.dev/research/fault-injection-arithmetic.json",
      "accessed": "2026-10-14"
    }
  ],
  "updated": "2026-10-14"
}
