{ "schema_version": 1, "case_id": "source-ubsan-differential-pairs", "case_type": "differential", "origin": "synthetic", "backend": "source", "name": "source_ubsan_differential_pairs", "description": "Paired vulnerable/fixed cases must receive the same classification from Fold source analysis and a replayed UBSan oracle.", "expect": {}, "runtime_tool": "ubsan", "lineage": { "vulnerable_revision": "fixture:vulnerable", "fixed_revision": "fixture:fixed" }, "differential_oracle": { "agreement": "Fold and replayed UBSan agree on vulnerable versus fixed classification", "comparators": ["fold-source", "ubsan"] }, "pairs": [ { "name": "integer-division-by-zero", "hazard": "div-by-zero", "detector": "div-by-zero", "rule_id": "fold.div-by-zero", "vulnerable_source": "../../fixtures/dast/division_vulnerable.cpp", "fixed_source": "../../fixtures/dast/division_fixed.cpp", "sanitizer": "integer-divide-by-zero", "runtime_regex": "division by zero|integer divide by zero" }, { "name": "signed-integer-overflow", "hazard": "int-overflow", "detector": "int-overflow", "rule_id": "fold.int-overflow", "vulnerable_source": "../../fixtures/dast/overflow_vulnerable.cpp", "fixed_source": "../../fixtures/dast/overflow_fixed.cpp", "sanitizer": "signed-integer-overflow", "runtime_regex": "signed integer overflow" } ] }