Test reads at every buffer boundary
Review each pointer dereference and array subscript to establish that it refers to an element of the same array object. Exercise empty inputs, the final valid element, the one-past-the-end index, missing terminators, negative values before unsigned conversion, and overflow in size calculations. Use static or runtime analysis that detects out-of-bounds array and pointer access as a second line of evidence.
ARR30-C: Do not form or use out-of-bounds pointers or array subscripts — Carnegie Mellon SEI