Light-weight bounds checking
An efficient and backwards-compatible transformation to ensure memory safety of C programs