Skip to content

Audit Vtable generation for dynamic traits #299

Description

@danielsn

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    [C] InternalTracks some internal work. I.e.: Users should not be affected.[F] SoundnessKani failed to detect an issue

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions