Baggy Bounds with Accurate Checking

Baozeng Ding, Yeping He, Yanjun Wu, Alex Miller, John Criswell

2012 · 18 citations · 29 references

Concepts

Abstract

Baggy Bounds Checking is a backward-compatible defense against out-of-bounds errors. It is reported as being faster than any previous bounds checking tool. However, it enforces allocation bounds instead of object bounds and thus cannot detect memory errors that are in padding areas. In this paper, we present BBAC: a technique that extends Baggy Bounds Checking to enforce accurate bounds checking. The key insight behind our approach is to store the object size at the end of the padding area, making it efficient to lookup object bounds meta-data at runtime. We show experimentally that BBAC can detect more memory errors than Baggy Bounds Checking. Our experiments also show that BBAC only adds an additional 4.39% performance overhead over the original Baggy Bounds Checking technique for the Olden benchmarks and 2x overhead at most on the real-world applications we tested.

References

29