Skip to content

kani-verifier tracking issue #1045

@tedinski

Description

@tedinski

Followups to #1039

Critical or urgent:

  • Create a licenses-note.txt file in our release bundle, and verify we're good to go on all licensing requirements.
  • Rename src/cargo-kani to src/kani-driver. Integrate kani-verifier into the workspace instead of having to keep it separate because of conflicting binary names.
  • Make kani-verifier the top-level crate in our repo, with all other crates being in its workspace underneath it. Resolves problem of having a README in this crate.
  • kani-verifier: cargo-kani setup support for macos #1036
  • Make a kani-0.1.0 test release #1037
  • Check the customer's target-triple and verify it's supported by Kani before we do anything.

Eventual:

  • Consider adding hash-checking as part of the download.
  • Checking of system dependencies/versions as part of first-time setup. (python3, pip, rustup, curl/tar, ctags)
  • We need a single source of truth for our dependency versions. For python packages, we currently duplicate this information into kani-verifier and also in our CI setup scripts. For CBMC, we're pulling from PATH instead of downloading it correctly.
  • Refactor some of the command line helpers I wrote so they're not duplicated. (By having other tools depend on kani-verifier where it lives?)
  • Ability to control verbosity of Kani first-time setup output.
  • Handle upgrading/uninstalling Kani. Remove old Kani release bundles and Rustup toolchains.
  • Parallelize the dependency install process. No reason we can't pip install while we rustup toolchain install and while we download the release bundle. (edit: except that we don't know the necessary rust toolchain until we've downloaded the release bundle... a more compelling reason to find a way to fix this.)
  • Can we install a more minimal profile of the rust toolchain to minimize download size?

Metadata

Metadata

Assignees

No one assigned

    Labels

    [C] InternalTracks some internal work. I.e.: Users should not be affected.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions