More invariant uses
•Showed procedures used in limited ways
–makepat
start = 0  and  delim = ’\0’
•Demonstrated test suite inadequacy
–#calls(in_set_2) = #calls(stclose)
•Changes in invariants validated program changes
–stclose:  *j = orig(*j)+1
–plclose:  *j ³ orig(*j)+2
[Clearly state the conclusion, not just the cause (which is on the slide).  Maybe put the conclusion on the slide, too.]

Limited procedure use: makepat has 5 parameters, 2 of which were always 0.  The programmers reported that they could perform “mental partial evaluation” rather than coping with its full generality.  Conclusion:  easier to understand.

“Test suite inadequacy” conclusion:  a test case in which the numbers of calls (in which in_set_2 is not called from stclose) should be added.
(only used 300 of 5500 test cases in this particular experiment).
Test suite:  in_set_2 never returned false because calls(in_set_2) == calls(stclose).  We only used 100 of the 5542 test cases supplied w/the program.

Conclusion of invariant diff:  changes were correct.
These are at the exits of the two routines.
Changes in invariants when run using the modified program (on original and modified test suite):  e.g., stclose increased length by 1; plclose increases length by at least 2.