kani icon indicating copy to clipboard operation
kani copied to clipboard

Audit Vtable generation for dynamic traits

Open danielsn opened this issue 3 years ago • 5 comments

RMC handles dynamic traits by making a vtable for each trait, which maps virtual calls to the function pointer that implements the call. As of 2021-09-01, our implementation of dynamic traits has no known soundness issues.

Likelihood:

Due to the complexity of this feature, there may be currently-unknown soundness issues.

Mitigation:

  • The default flags RMC passes to CBMC now include --pointer-check, so incorrect codegen of functions is now more likely to be found a verification time.
  • We have added 40+ regression tests for dynamic traits.

danielsn avatar Jul 06 '21 20:07 danielsn