Visible to the public Checked C: Making C Safe by Extension

TitleChecked C: Making C Safe by Extension
Publication TypeConference Paper
Year of Publication2018
AuthorsElliott, A. S., Ruef, A., Hicks, M., Tarditi, D.
Conference Name2018 IEEE Cybersecurity Development (SecDev)
ISBN Number978-1-5386-7662-2
Keywordsbackward-compatibility, Benchmark testing, bounds-safe interfaces, C safe, C++ language, checked C's design, checked pointer, checked region, Collaboration, Computer bugs, Cyclones, developer control, highly performant code, Human Behavior, human factors, incremental conversion, Metrics, performance evaluation, policy-based governance, program debugging, programming languages, pubcrawl, resilience, Resiliency, Safe Coding, Safety, security, spatial safety, static analysis, storage management, Tools
Abstract

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.

URLhttps://ieeexplore.ieee.org/document/8543387
DOI10.1109/SecDev.2018.00015
Citation Keyelliott_checked_2018