cid 459674eb42762c394ea726201ae61b410aeec68542b5197d9ade0f2f6fb8dd5a · original · via openalex
Title: AddressSanitizer: a fast address sanity checker Authors: Konstantin Serebryany; Derek L. Bruening; Alexander Potapenko; Dmitry Vyukov Venue: Year: 2012 Canonical: openalex:https://openalex.org/W1878544538 URL: https://openalex.org/W1878544538 Collector: openalex OA: false ABSTRACT Memory access bugs, including buffer overflows and usesoffreedheapmemory,remainaseriousproblemfor programminglanguageslike CandC++. Manymemory errordetectorsexist, but most of them are either slow or detectalimitedset ofbugs,orboth. This paper presents AddressSanitizer, a new memory error detector. Our tool finds out-of-boundsaccesses to heap, stack, and global objects, as well as use-after-free bugs. It employs a specialized memory allocator and code instrumentation that is simple enough to be implemented in any compiler, binary translation system, or evenin hardware. AddressSanitizer achieves efficiency without sacrificing comprehensiveness. Its average slowdown is just 73 % yet it accurately detects bugs at the point of occurrence. Ithasfoundover300previouslyunknownbugsin theChromiumbrowserandmanybugsinothersoftware.