fold/tests/benchmarks/metamorphic/quality_identity_metamorphic.json

51 lines
1.5 KiB
JSON

{
"schema_version": 1,
"case_id": "quality-identity-metamorphic",
"case_type": "metamorphic",
"origin": "metamorphic",
"backend": "source",
"name": "quality_identity_metamorphic",
"description": "Quality finding identities and multiplicities remain stable under TU ordering and process fanout.",
"detectors": "clone,complexity,dead-statement,unused-function,redundant-store",
"standard": "c++20",
"min_body_stmts": 1,
"require_unique_finding_ids": true,
"validate_clone_families": true,
"expect": {
"min_findings": 3,
"min_rule_findings": {
"fold.clone": 1
}
},
"relation": {
"kind": "finding-multiset-invariance",
"comparisons": [
{
"name": "tu-order-and-worker-count",
"baseline": {
"sources": [
"../../fixtures/quality/structural_debt.cpp",
"../../fixtures/quality/structural_clean.cpp",
"../../fixtures/clones/exact.cpp",
"../../fixtures/clones/renamed.cpp",
"../../fixtures/clones/near_miss.cpp"
],
"processes": 1
},
"transformed": {
"sources": [
"../../fixtures/clones/near_miss.cpp",
"../../fixtures/clones/renamed.cpp",
"../../fixtures/clones/exact.cpp",
"../../fixtures/quality/structural_clean.cpp",
"../../fixtures/quality/structural_debt.cpp"
],
"processes": 2
},
"mapping": {
"fields": ["finding_id", "rule_id", "backend"]
}
}
]
}
}