Memory Tagging and how it improves C/C++ memory safety

Kostya Serebryany


Memory safety in C and C++ remains largely unresolved. A technique usually called "memory tagging" may dramatically improve the situation if implemented in hardware with reasonable overhead. In this talk we will describe two existing implementations of memory tagging: one is the full hardware implementation - SPARC ADI, the other is a partially hardware-assisted compiler-based tool for AArch64 - HWASAN. We describe the basic idea, evaluate the two implementations, and explain how they improve memory safety. We'll pay extra attention to memory tagging as a security mitigation. See also:


Konstantin (Kostya) Serebryany is a Software Engineer at Google. His team develops and deploys dynamic testing tools, such as AddressSanitizer, MemorySanitizer, ThreadSanitizer, and libFuzzer. Prior to joining Google in 2007, Konstantin spent 4 years at Elbrus/MCST working for Sun compiler lab and then 3 years at Intel Compiler Lab. Konstantin holds a PhD from and a M.S. from

Time and Place

Wednesday, April 25, 4:15pm
Gates 463A