Gap analysis — c3 in decision #848
scry-mcdc · malloc.c:4398 · branch 5964
Status: GAP
What you need
To prove condition c3 independently affects the decision, you need a row where c3 = T and the outcome differs from row 2715 (where c3 = F).
Required condition vector:
c0 = T c1 = * c2 = * c3 = T c4 = F c5 = F c6 = * c7 = * c8 = * c9 = * c10 = T c11 = F c12 = F
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_d848_c3() {
// Verdict: scry-mcdc
// Source: malloc.c:4398
// Branch: 5964
//
// TODO: drive the function so condition c3 evaluates to the
// value above and the resulting decision outcome differs from
// the existing pair row.
todo!("witness viz: gap drill-down for d#848/c3");
}
After adding the test, re-run: witness instrument && witness run --invoke run_row_NEW && witness report. The condition should flip from gap to proved.