fold/tests/benchmarks/differential/sanitizer_pairs.json
trvon 2dcbdbc75d
feat: harden Fold quality guard
Preserve source, binary, and runtime evidence boundaries while making precision and performance regressions reproducible.

- decompose analysis orchestration into bounded modules
- add differential, metamorphic, organic, and Yams change-time gates
- fix detector, P-Code, fuzz sanitizer, and report identity precision
2026-07-13 15:05:35 -04:00

41 lines
1.4 KiB
JSON

{
"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"
}
]
}