Department of Computer Science and Technology

Technical reports

CHERI C semantics as an extension of the ISO C17 standard

Vadim Zaliva, Kayvan Memarian, Ricardo Almeida, Jessica Clarke, Brooks Davis, Alex Richardson, David Chisnall, Brian Campbell, Ian Stark, Robert N. M. Watson, Peter Sewell

October 2023, 11 pages

This work was supported by the UK Industrial Strategy Challenge Fund (ISCF) under the Digital Security by Design (DSbD) Programme, to deliver a DSbDtech enabled digital platform (grant 105694).

This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 789108, ERC AdG ELVER).

Distribution Statement A: Approved for public release; distribution is unlimited. This work was supported by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory (AFRL), under contracts HR0011-22-C-0110 (“ETC”) and HR0011-23-C-0031 (“MTSS”). The views, opinions, and/or findings contained in this report are those of the authors and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.

DOIhttps://doi.org/10.48456/tr-988

Abstract

This document provides a specification for CHERI C, adhering to the style, conventions, and terminology found in the ISO C17 standard. Alongside the ISO/IEC 9899:2018 standard text and the “A Provenance-aware Memory Object Model for C” draft specification, it offers a comprehensive specification of the CHERI C language.

Full text

PDF (0.3 MB)

BibTeX record

@TechReport{UCAM-CL-TR-988,
  author =	 {Zaliva, Vadim and Memarian, Kayvan and Almeida, Ricardo and
          	  Clarke, Jessica and Davis, Brooks and Richardson, Alex and
          	  Chisnall, David and Campbell, Brian and Stark, Ian and
          	  Watson, Robert N. M. and Sewell, Peter},
  title = 	 {{CHERI C semantics as an extension of the ISO C17 standard}},
  year = 	 2023,
  month = 	 oct,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-988.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-988},
  number = 	 {UCAM-CL-TR-988}
}