SOSP2024

Practical Verification of System-Software Components Written in Standard C

Can Cebeci, Yonghao Zou, Diyu Zhou, George Candea, Clément Pit-Claudel

2 citations

Abstract

Systems code is challenging to verify, because it uses constructs (like raw pointers, pointer arithmetic, and bit twiddling) that are hard for tools to reason about. Existing approaches either sacrifice programmer friendliness, by demanding significant manual effort and verification expertise, or generality, by restricting the programming language or requiring that the code adapt to the verification tool.