Gap analysis — c3 in decision #1422
scry-mcdc · malloc.c:4028 · branch 9406
Status: GAP
What you need
To prove condition c3 independently affects the decision, you need a row where c3 = F and the outcome differs from row 4225 (where c3 = T).
Required condition vector:
c0 = F c1 = F c2 = T c3 = F c4 = T c5 = T c6 = * c7 = * c8 = F c9 = T c10 = * c11 = * c12 = * c13 = *
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_d1422_c3() {
// Verdict: scry-mcdc
// Source: malloc.c:4028
// Branch: 9406
//
// 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#1422/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.