Checks foreign function interface calls between O’Caml and C. The important code (i.e., where the bugs happen) is the C code. They use a flow-sensitive type system based on the data representation to detect shape errors and they use an effect system to detect when calls from C to O’Caml (that could cause a GC) are made without appropriate precautions.
Papers related to Checking type safety of foreign function calls
- Dependent types for low-level programming [condit:esop:2007]