2012 · 18 citations · 29 references
ComputingComputer EngineeringComputer ScienceCompilersData StructuresStorage SystemsError DetectionMemory HierarchyMemory ManagementBounds CheckingLower BoundsMemory-bounded AlgorithmsOut Of Bounds AccessReal-world ApplicationUpper Bounds
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.
29
Nicholas Nethercote, Julian Seward · 2007 · 2.3K citations
AddressSanitizer: a fast address sanity checker
Konstantin Serebryany, Derek Bruening, Alexander Potapenko et al. · USENIX Annual Technical Conference · 2012 · 642 citations
Trevor Jim, J. Greg Morrisett, Dan Grossman et al. · 2002 · 618 citations
Santosh Nagarakatte, Milo M. K. Martin, Steve Zdancewic · 2009 · 529 citations