Given the central role that C continues to play in systems software, and the difficulty of writing safe and correct C code, it remains a grand challenge to develop effective formal methods for verifying C programs. In this paper, we propose a new approach to this problem: a type system we call RefinedC, which combines ownership types (for modular reasoning about shared state and concurrency) with refinement types (for encoding precise invariants on C data types and Hoare-style specifications for C functions).
No takes yet. Share an insight, caveat, or question.
Sammler et al. (2021) studied this question.
Synapse has enriched 3 closely related papers on similar clinical questions. Consider them for comparative context: