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.
[ .pdf ]
@inproceedings{elliott18checkedc, title = {Checked C: Making C Safe by Extension}, author = {Archibald Samuel Elliott and Andrew Ruef and Michael Hicks and David Tarditi}, booktitle = {Proceedings of the IEEE Conference on Secure Development (SecDev)}, month = sep, year = 2018 }
This file was generated by bibtex2html 1.99.