The Chromium team has developed BackupRefPtr, which seeks to deterministically enforce temporal memory safety. I developed an extension to BackupRefPtr to also deterministically enforce spatial memory safety (e.g., to mitigate buffer overflows). It does not require storing any additional metadata beyond what the underlying allocator already uses, although it is stateful due to needing the allocator metadata to be loaded during spatial safety checks. It operates by checking that the pointer stays within valid bounds any time the pointer is updated.
Touchless dispensing with a photoresistor sensor and a PWM-controlled servo
Configuring MPX bounds registers or 32-bit segment registers and extending LLVM and Clang to instrument code to help prevent corruption of the safe stacks.
Based on Contiki OS with the lightweight X86 protection domain support that I implemented.