43 lines
1.2 KiB
JSON
43 lines
1.2 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"case_id": "equiv-effects-metamorphic",
|
|
"case_type": "metamorphic",
|
|
"origin": "metamorphic",
|
|
"backend": "source",
|
|
"name": "equiv_effects_metamorphic",
|
|
"description": "Pure equivalence remains stable across TU order and worker count while differing observable effects fail closed.",
|
|
"detectors": "equiv",
|
|
"standard": "c++20",
|
|
"min_body_stmts": 1,
|
|
"require_unique_finding_ids": true,
|
|
"expect": {
|
|
"min_findings": 1,
|
|
"min_rule_findings": {"fold.equiv": 1},
|
|
"max_rule_findings": {"fold.equiv": 1}
|
|
},
|
|
"relation": {
|
|
"kind": "finding-multiset-invariance",
|
|
"comparisons": [
|
|
{
|
|
"name": "effects-tu-order-and-worker-count",
|
|
"baseline": {
|
|
"sources": [
|
|
"../../fixtures/quality/equiv_effects.cpp",
|
|
"../../fixtures/quality/equiv_unrelated.cpp"
|
|
],
|
|
"processes": 1
|
|
},
|
|
"transformed": {
|
|
"sources": [
|
|
"../../fixtures/quality/equiv_unrelated.cpp",
|
|
"../../fixtures/quality/equiv_effects.cpp"
|
|
],
|
|
"processes": 2
|
|
},
|
|
"mapping": {
|
|
"fields": ["finding_id", "rule_id", "backend"]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|