CRARPLFeb 26, 2018

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

arXiv:1802.09517v196 citations
Originality Synthesis-oriented
AI Analysis

This addresses memory safety issues in C/C++ programming, which affect software security and reliability, but is incremental as it builds on existing implementations.

The paper examines memory tagging as a technique to improve memory safety in C/C++ by evaluating two implementations: a full hardware version on SPARC and a partially hardware-assisted compiler-based tool for AArch64, showing it can dramatically enhance safety with reasonable overhead.

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. This paper describes two existing implementations of memory tagging: one is the full hardware implementation in SPARC; the other is a partially hardware-assisted compiler-based tool for AArch64. We describe the basic idea, evaluate the two implementations, and explain how they improve memory safety. This paper is intended to initiate a wider discussion of memory tagging and to motivate the CPU and OS vendors to add support for it in the near future.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes