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
38 lines
1.4 KiB
JSON
38 lines
1.4 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"case_id": "source-clang-sa-differential-pairs",
|
|
"case_type": "differential",
|
|
"origin": "synthetic",
|
|
"backend": "source",
|
|
"name": "source_clang_sa_differential_pairs",
|
|
"description": "Paired vulnerable/fixed source cases retain Fold and Clang Static Analyzer classifications and disagreements.",
|
|
"expect": {},
|
|
"lineage": {
|
|
"vulnerable_revision": "fixture:vulnerable",
|
|
"fixed_revision": "fixture:fixed"
|
|
},
|
|
"differential_oracle": {
|
|
"agreement": "Fold and Clang Static Analyzer agree on vulnerable versus fixed classification",
|
|
"comparators": ["fold-source", "clang-static-analyzer"]
|
|
},
|
|
"pairs": [
|
|
{
|
|
"name": "constant-division-by-zero",
|
|
"hazard": "div-by-zero",
|
|
"detector": "div-by-zero",
|
|
"rule_id": "fold.div-by-zero",
|
|
"vulnerable_source": "../../fixtures/differential/division_vulnerable.cpp",
|
|
"fixed_source": "../../fixtures/differential/division_fixed.cpp",
|
|
"analyzer_regex": "Division by zero|core\\.DivideZero"
|
|
},
|
|
{
|
|
"name": "constant-null-dereference",
|
|
"hazard": "null-deref",
|
|
"detector": "null-deref",
|
|
"rule_id": "fold.null-deref",
|
|
"vulnerable_source": "../../fixtures/differential/null_deref_vulnerable.cpp",
|
|
"fixed_source": "../../fixtures/differential/null_deref_fixed.cpp",
|
|
"analyzer_regex": "Dereference of null pointer|core\\.NullDereference"
|
|
}
|
|
]
|
|
}
|