← findnix.eu
🎬 watch.ocaml.org watch.ocaml.org

[OCaML'23] Targeted Static Analysis for OCaml C Stubs: Eliminating gremlins from the code

⏱ 23:16 🌐 watch.ocaml.org

[OCaML'23] Targeted Static Analysis for OCaml C Stubs: Eliminating gremlins from the code Edwin Török Migration to OCaml 5 requires updating a lot of C bindings due to the removal of naked pointer support. Writing OCaml user-defined primitives in C is a necessity, but is unsafe and error-prone. It does not benefit from either OCaml’s or C’s type checking, and existing C static analysers are not aware of the OCaml GC safety rules, and cannot infer them from existing macros alone. The alternative is automatically generating C stubs, which requires correctly managing value lifetimes. Having a static analyser for OCaml to C interfaces is useful outside the OCaml 5 porting effort too. After some motivating examples of real bugs in C bindings a static analyser is presented that finds these known classes of bugs. The tool works on the OCaml abstract parse and typed trees, and generates a header file and a caller model. Together with a simplified model of the OCaml runtime this is used as i

https://watch.ocaml.org/w/sj5jf9iieZA7E1cbDbnv2j
watch.ocaml.org
Indexiert von findnix.eu · Eigene Seite einreichen