Gap analysis — c2 in decision #848

scry-mcdc · malloc.c:4398 · branch 5963

Status: GAP

What you need

To prove condition c2 independently affects the decision, you need a row where c2 = T and the outcome differs from row 2797 (where c2 = F).

Required condition vector:

  c0 = F
  c1 = F
  c2 = T
  c3 = F
  c4 = T
  c5 = *
  c6 = F
  c7 = F
  c8 = T
  c9 = T
  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_c2() {
    // Verdict: scry-mcdc
    // Source: malloc.c:4398
    // Branch:  5963
    //
    // TODO: drive the function so condition c2 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/c2");
}

After adding the test, re-run: witness instrument && witness run --invoke run_row_NEW && witness report. The condition should flip from gap to proved.