Skip to content
STIMSMITH

AddressSanitizer

Concept

AddressSanitizer (ASan) is a memory-error instrumentation and runtime-check tool widely used to detect memory-safety bugs such as buffer overruns, and it is employed both as a compile-time sanitizer for target programs and as a foundation for higher-level techniques like buffer-overrun-guided fuzzing and speculative-execution vulnerability testing.

First seen 8/4/2026
Last seen 8/4/2026
Evidence 1 chunks
Wiki v1

WIKI

AddressSanitizer

AddressSanitizer (commonly abbreviated ASan or Asan) is a compiler- and runtime-based instrumentation tool for detecting memory-access errors, most notably buffer overruns and other out-of-bounds memory operations. It works by instrumenting a program (typically at compile time) so that each memory access is checked against a shadow-memory layout, causing the program to abort with a diagnostic when an invalid access is detected. Because of its precise, instrumentation-based approach, AddressSanitizer does not rely on conservative static analyses such as points-to analysis, and it is widely used both as a bug-finding aid in normal builds and as an oracle for fuzz-testing campaigns [HDR-Fuzz, SpecFuzz, Bottom-Up Generation of Verilog Designs for Testing EDA Tools].

Role in bug detection and fuzzing

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

1 connections
ChiGen ← uses 85% 1e
ChiGen's bug-finding campaigns compiled EDA tools with AddressSanitizer to detect memory errors.

CITATIONS

4 sources
4 citations — click to collapse
[1] HDR-Fuzz uses an extended AddressSanitizer running in parallel with a fuzzer to detect buffer overruns, and this instrumentation is precise because it does not rely on points-to analysis. HDR-Fuzz: Detecting Buffer Overruns using AddressSanitizer Instrumentation and Fuzzing
[2] SpecFuzz instruments programs to simulate speculative execution in software and uses AddressSanitizer as the integrity checker to make speculative memory accesses visible, enabling dynamic detection of Spectre V1 variations and reducing instrumented branches by up to 77%. SpecFuzz: Bringing Spectre-type vulnerabilities to the surface
[3] In empirical comparisons, target tools compiled with AddressSanitizer produced substantially more detected crashes than those compiled without it, with ChiGen yielding 754 crashes in Yosys, 52 in Verilator, and 766 in Verible's obfuscator under ASan. Bottom-Up Generation of Verilog Designs for Testing EDA Tools
[4] ChiGen's bug-finding campaign compiled each target EDA tool with and without AddressSanitizer, and individual crashes from ASan logs were not deduplicated by root cause. Bottom-Up Generation of Verilog Designs for Testing EDA Tools