MemorySanitizer

E292717

MemorySanitizer is an LLVM-based dynamic analysis tool that detects uses of uninitialized memory in programs at runtime.

All labels observed (1)

Label Occurrences
MemorySanitizer canonical 5

How this entity was disambiguated

Statements (40)

Predicate Object
instanceOf LLVM sanitizer ⓘ
dynamic analysis tool ⓘ
software testing tool ⓘ
basedOn LLVM ⓘ
canDetect use of uninitialized global variables ⓘ
use of uninitialized heap memory ⓘ
use of uninitialized stack memory ⓘ
category security analysis tool ⓘ
software quality assurance tool ⓘ
detects propagation of uninitialized values ⓘ
use of uninitialized memory ⓘ
developedBy LLVM project ⓘ
linked to: LLVM
documentationURL https://clang.llvm.org/docs/MemorySanitizer.html ⓘ
helpsPrevent security vulnerabilities caused by uninitialized memory use ⓘ
undefined behavior due to uninitialized values ⓘ
instrumentationType compile-time instrumentation ⓘ
introducedIn Clang 3.x era (LLVM project) ⓘ
linked to: Clang
license Apache License 2.0 with LLVM exceptions ⓘ
limitations does not track uninitialized memory in system libraries not compiled with MemorySanitizer ⓘ
increased memory usage ⓘ
overhead in runtime performance ⓘ
operatesAt runtime ⓘ
output diagnostic messages on standard error ⓘ
stack traces for detected issues ⓘ
partOf LLVM Sanitizers ⓘ
linked to: compiler-rt
primaryPurpose detect uses of uninitialized memory at runtime ⓘ
relatedTo AddressSanitizer ⓘ
ThreadSanitizer ⓘ
UndefinedBehaviorSanitizer ⓘ
reports runtime errors on use of uninitialized values ⓘ
requires compilation with Clang or compatible LLVM-based compiler ⓘ
recompilation of target program with sanitizer enabled ⓘ
supports Linux ⓘ
x86_64 architecture ⓘ
targetEnvironment C programs ⓘ
C++ programs ⓘ
other LLVM-supported languages with appropriate support ⓘ
tracks initializedness of memory ⓘ
taint of uninitialized values ⓘ
usageFlag -fsanitize=memory ⓘ

How these facts were elicited

Referenced by (5)

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

LLVM → hasComponent → MemorySanitizer ⓘ
compiler-rt → supports → MemorySanitizer ⓘ
AddressSanitizer → relatedTo → MemorySanitizer ⓘ
ThreadSanitizer → relatedTo → MemorySanitizer ⓘ
DataFlowSanitizer → relatedTo → MemorySanitizer ⓘ