2020 LLVM Developers’ Meeting: “Checked C: Adding Memory Safety to LLVM”
Автор: LLVM
Загружено: 2020-12-14
Просмотров: 2580
Описание:
https://llvm.org/devmtg/2020-09/
—
Checked C: Adding Memory Safety to LLVM - Mandeep Singh Grang, Katherine Kjeer
Slides: https://llvm.org/devmtg/2020-09/slide...
—
Checked C is an open-source extension to C designed by Microsoft to guarantee spatial safety. Checked C adds static and dynamic checking to C to detect or prevent memory access violations. It introduces new "checked" pointer and array pointer types and requires the programmer to annotate these with bounds. It then uses the bounds to ensure the safety of memory accesses.
Checked C has been implemented in LLVM and Clang. In this talk, we describe the design of bounds annotations for checked pointers and array pointers in the Clang AST as well as the framework for the static checking of the soundness of bounds. We also briefly describe novel algorithms to automatically widen bounds for null-terminated arrays and for comparison of expressions for equivalence. We also report on some of the challenges we faced like undefined behavior due to integer overflow.
References:
1. Checked C language specification - https://github.com/Microsoft/checkedc...
2. Checked C project repo - https://github.com/microsoft/checkedc
3. Checked C Clang repo - https://github.com/microsoft/checkedc...
4. Checked C SecDev 2018 paper - https://www.microsoft.com/en-us/resea...
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: