AddressSanitizer

E292715

AddressSanitizer is a fast memory error detector that instruments programs to find issues like buffer overflows and use-after-free bugs at runtime.

All labels observed (1)

Label Occurrences
AddressSanitizer canonical 7

How this entity was disambiguated

Statements (51)

Predicate Object
instanceOf dynamic analysis tool ⓘ
memory error detector ⓘ
runtime instrumentation tool ⓘ
configuration ASAN_OPTIONS environment variable ⓘ
detects buffer overflow ⓘ
double-free ⓘ
global buffer overflow ⓘ
heap buffer overflow ⓘ
invalid free ⓘ
memory leaks (with LeakSanitizer integration) ⓘ
stack buffer overflow ⓘ
stack-use-after-scope (in some configurations) ⓘ
use-after-free ⓘ
use-after-return ⓘ
developedBy Google ⓘ
goal find memory errors in C and C++ programs ⓘ
hasComponent compiler instrumentation passes ⓘ
runtime library ⓘ
introducedIn LLVM 3.1 (initial integration timeframe) ⓘ
invocationFlag -fsanitize=address (Clang) ⓘ
-fsanitize=address (GCC) ⓘ
license Apache License 2.0 (via LLVM) ⓘ
limitation does not detect all uninitialized memory reads ⓘ
requires recompilation of the program with sanitizer flags ⓘ
partOf LLVM project ⓘ
linked to: LLVM
programmingLanguage C ⓘ
C++ ⓘ
Objective-C ⓘ
Objective-C++ ⓘ
property low runtime overhead compared to other memory checkers ⓘ
relatedTo LeakSanitizer ⓘ
MemorySanitizer ⓘ
ThreadSanitizer ⓘ
reports detailed error messages with stack traces ⓘ
location of invalid memory access ⓘ
type of memory error ⓘ
runsAt runtime ⓘ
supportedBy Clang ⓘ
GCC ⓘ
supportsPlatform Android (via NDK/Clang) ⓘ
linked to: Android NDK

Linux ⓘ
Windows (via Clang/LLVM) ⓘ
macOS ⓘ
typicalOverhead about 2x memory usage ⓘ
about 2x runtime slowdown (approximate) ⓘ
usedFor debugging memory corruption bugs ⓘ
hardening software during testing ⓘ
usesTechnique compiler-based instrumentation ⓘ
poisoning and unpoisoning memory regions ⓘ
red zones around objects ⓘ
shadow memory ⓘ

How these facts were elicited

Referenced by (7)

Full triples — surface form annotated when it differs from this entity's canonical label.

LLVM → hasComponent → AddressSanitizer ⓘ
compiler-rt → supports → AddressSanitizer ⓘ
ThreadSanitizer → relatedTo → AddressSanitizer ⓘ
MemorySanitizer → relatedTo → AddressSanitizer ⓘ
DataFlowSanitizer → relatedTo → AddressSanitizer ⓘ
SanitizerCoverage → commonlyUsedWith → AddressSanitizer ⓘ
Intel MPX → relatedTechnology → AddressSanitizer ⓘ