Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt Why3Find #1002

Open
xldenis opened this issue May 16, 2024 · 1 comment
Open

Adopt Why3Find #1002

xldenis opened this issue May 16, 2024 · 1 comment

Comments

@xldenis
Copy link
Collaborator

xldenis commented May 16, 2024

Why3 Find is finally public: https://git.frama-c.com/pub/why3find. We should integrate this into creusot to ship a complete CLI driven workflow for verification. Once we have this we should also start producing nightly binary builds of a complete creusot install to make setup 100% seamless.

@Armael
Copy link
Contributor

Armael commented Jun 3, 2024

I suggest we focus in this issue on why3find (the binary builds can be a separate issue) :).
In the meeting this morning we discussed the following approach for testing/adopting why3find progressively:

  • do some quick testing, check by hand that why3find "works" with creusot at a basic level (done by @xldenis)
  • integrate why3find in the creusot repo to run on our testsuite, as an additional test target. The goal is to see which subset of the tests can be solved directly by why3find.
  • investigate the tests that are not solved by why3find, try to understand what additional information is needed (by comparing with the session for the test, and possibly discussing with the why3find authors to understand how they solve these kind of issues in their own workflow).
  • integrate why3find in a cargo creusot user workflow. We'll probably want to replace the cargo creusot why3 prove subcommand to use why3find.
  • migrate all the tests to pass with why3find. This will probably require implementing some additional syntax/features in the proof language/proof annotations used in rust files.

@xldenis could you describe here the rough steps you had to follow to use why3find with creusot, so that we can reproduce it on our side, and work on the integration with the testsuite?

@Armael Armael changed the title Adopt Why3Find and distribute a prebuilt why3 binary with creusot Adopt Why3Find Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants