Gap analysis — c10 in decision #845
scry-mcdc · malloc.c:4897 · branch 5949
Status: GAP
What you need
To prove condition c10 independently affects the decision, you need a row where c10 = F and the outcome differs from row 5600 (where c10 = T).
Required condition vector:
c0 = F c1 = * c2 = F c3 = F c4 = * c5 = F c6 = F c7 = * c8 = * c9 = * c10 = F c11 = T c12 = F c13 = F c14 = F c15 = T c16 = * c17 = T
Conditions marked * were short-circuited in the baseline row; the new test must drive inputs so they get evaluated to either T or F.
Suggested test stub
#[test]
fn closes_gap_d845_c10() {
// Verdict: scry-mcdc
// Source: malloc.c:4897
// Branch: 5949
//
// TODO: drive the function so condition c10 evaluates to the
// value above and the resulting decision outcome differs from
// the existing pair row.
todo!("witness viz: gap drill-down for d#845/c10");
}
After adding the test, re-run: witness instrument && witness run --invoke run_row_NEW && witness report. The condition should flip from gap to proved.