Cambridge, UK
Known As: Sam

Archibald Samuel Elliott

Language & Compiler Developer

Checked C: Making C Safe By Extension

Archibald Samuel Elliott, Andrew Ruef, Michael Hicks, David Tarditi

September 2018 • Paper • IEEE Cybersecurity Development (SecDev)

← Publications


This paper presents Checked C, an extension to C designed to support spatial safety, implemented in Clang and LLVM. Checked C's design is distinguished by its focus on backward-compatibility, incremental conversion, developer control, and enabling highly performant code. Like past approaches to a safer C, Checked C employs a form of checked pointer whose accesses can be statically or dynamically verified. Performance evaluation on a set of standard benchmark programs shows overheads to be relatively low. More interestingly, Checked C introduces the notions of a checked region and bounds-safe interfaces.