Gap analysis — c4 in decision #845
scry-mcdc · malloc.c:4897 · branch 5943
Status: GAP
What you need
To prove condition c4 independently affects the decision, you need a row where c4 = T and the outcome differs from row 2592 (where c4 = F).
Required condition vector:
c0 = * c1 = * c2 = * c3 = * c4 = T c5 = * c6 = * c7 = * c8 = * c9 = * c10 = * c11 = * 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_c4() {
// Verdict: scry-mcdc
// Source: malloc.c:4897
// Branch: 5943
//
// TODO: drive the function so condition c4 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/c4");
}
After adding the test, re-run: witness instrument && witness run --invoke run_row_NEW && witness report. The condition should flip from gap to proved.