CASH is a compiler approach like BCC (Bounds Check
GCC). The technique and architecture was published in [4].
Since BCC is not used, because of its bad performance
CASH is trying to optimize bounds checking, so that hardly
no overhead results. Their approach performs faster than
others, because bound checking is done in hardware by the
use of the virtual memory segmentation unit of Intel x86
processors. This unit only checks segments, whether they
are free, therefore CASH had to extend this behaviour and
allocate a segment for each statically defined array or dynamically
allocated pointer object.