DeAI Research
Source ·

AddressSanitizer: a fast address sanity checker

2012Konstantin Serebryany; Derek L. Bruening; Alexander Potapenko; Dmitry Vyukov

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.