Checked C extends C with bounds checking and improved type-safety. This helps developers write more secure systems code.
It is opt-in and backwards compatible. As a developer, you add annotations and/or modify types to opt-in to bounds checking and type-safety.
All existing C code is valid Checked C code.
It supports incremental conversion of code. You can convert a few security-critical functions or your entire program, and do the conversion
as you have time.
It supports annotations that can be erased from your program using macros, so that your Checked C code can compile with C
compilers that do not understand Checked C annotations.
The language specification and compiler were developed at Microsoft from 2015-2021. The Checked C effort
now continues as an active open-source research project. Recent contributions include:
The 3C tool for translating C to Checked C (Aravind Machiry, Mike Hicks and others).
A paper on this tool appeared in OOPSLA '22 and won a Distinguished Paper award.
Fat-pointers for temporal safety (Jie Zhou, John Criswell, and Mike Hicks). This work
will appear in the upcoming OOPSLA ’23 conference.
Support for erasing annotations for C compilers that don’t support Checked C (in progress).
Experiments with converting open-source systems code.
As of 2023, we're officially a non-profit! This supports continuity of the project beyond any
one person, helps us keep track of intellectual property rights, and will let us raise funds
so support project activities.
Checked C is an extension to C that lets programmers write C code with bounds checking and improved type-safety. The goal is to let people easily make their existing C code type-safe and eliminate …
This repo contains a version of clang that is being modified to support Checked C. Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe.
This repo contains a version of clang that is being modified to support Checked C. Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe.
checkedc/checkedc-clang's past year of commit activity
Checked C is an extension to C that lets programmers write C code with bounds checking and improved type-safety. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors.
This was a fork of Checked C clang used from 2021-2024. The changes have been merged into the original Checked C clang repo, which is now at https://github.com/checkedc/checkedc-clang.
This repo contains a version of libc-test that is modified to test a Checked C version of the musl C library. Checked C is an extension to C that adds checking to detect or prevent common programming errors such as out-of-bounds memory accesses.
This repo contains a version of musl that is being modified to Checked C. Checked C is an extension to C that adds checking to detect or prevent common programming errors such as out-of-bounds memory accesses.
There was an error while loading. Please reload this page.
Most used topics
Loading…
Uh oh!
There was an error while loading. Please reload this page.
You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.