Ccured just made my to-do list
Eric S. Raymond
esr at thyrsus.com
Fri Jan 11 19:25:04 UTC 2019
"CCured: Type-Safe Retrofitting of Legacy Software"
https://web.eecs.umich.edu/~weimerw/p/p477-necula.pdf
This article describes CCured, a program transformation system that
adds type safety guarantees to existing C programs. CCured attempts to
verify statically that memory errors cannot occur, and it inserts
run-time checks where static verification is insufficient.
CCured extends C’s type system by separating pointer types according
to their usage, and it uses a surprisingly simple type inference
algorithm that is able to infer the appropriate pointer kinds for
existing C programs. CCured uses physical subtyping to recognize and
verify a large number of type casts at compile time. Additional type
casts are verified using run-time type information. CCured uses two
instrumentation schemes, one that is optimized for performance and one
in which metadata is stored in a separate data structure whose shape
mirrors that of the original user data. This latter scheme allows
instrumented programs to invoke external functions directly on the
program’s data without the use of a wrapper function.
This looks ideal for us. I recommend all our senior devs read the
paper.
I found software here:
https://github.com/CTSRD-CHERI/ccured
It seems to be in an unmaintained state.
--
>>esr>>
More information about the devel
mailing list