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

Propogate backend options into goto-synthesizer #2643

Merged
merged 4 commits into from
Oct 30, 2023

Conversation

qinheping
Copy link
Contributor

@qinheping qinheping commented Jul 30, 2023

Description of changes:

goto-synthesizer should take the same backend options as cbmc to make sure that the checker we used to check loop-contracts candidates is the same as the checker we verify the final goto-binary.

CBMC backend options: https://github.com/diffblue/cbmc/blob/develop/src/cbmc/cbmc_parse_options.cpp#L993C1-L1000C58 including

  1. solver options (already propagated)
  2. object-bits option (propagated in this PR)
  3. array-uf options (propagated in this PR)
  4. string refine options (TODO)

Resolved issues:

Resolves #ISSUE-NUMBER

Related RFC:

Optional #ISSUE-NUMBER.

Call-outs:

Testing:

  • How is this change tested?

  • Is this a refactor change?

Checklist

  • Each commit message has a non-empty body, explaining why the change was made
  • Methods or procedures are documented
  • Regression or unit tests are included, or existing tests cover the modified code
  • My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@qinheping qinheping requested a review from a team as a code owner July 30, 2023 22:07
@qinheping qinheping self-assigned this Aug 22, 2023
goto-synthesizer should take the same backend options as cbmc to make sure that
the checker that we used in Kani to check loop-contracts candidates is the same as
the checker we verify the final goto-binary.
@zhassan-aws
Copy link
Contributor

Looks good. We'll need to wait for a new CBMC release that includes diffblue/cbmc#7900 before merging though, right?

@qinheping qinheping disabled auto-merge October 11, 2023 19:11
@qinheping
Copy link
Contributor Author

Looks good. We'll need to wait for a new CBMC release that includes diffblue/cbmc#7900 before merging though, right?

Yes, we should merge this PR after CBMC 5.94.0 published.

@qinheping qinheping enabled auto-merge (squash) October 18, 2023 17:38
@celinval celinval disabled auto-merge October 18, 2023 21:41
Copy link
Contributor

@celinval celinval left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just blocking this until we release 0.39.0. Thank you for your patience. 😃

@celinval celinval dismissed their stale review October 19, 2023 11:24

unblocking

@adpaco-aws adpaco-aws enabled auto-merge (squash) October 30, 2023 21:16
@adpaco-aws adpaco-aws merged commit 24bb480 into model-checking:main Oct 30, 2023
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: No status
Development

Successfully merging this pull request may close these issues.

4 participants