Skip to content

Initial manual implementation of CSE #284

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

Merged
merged 11 commits into from
Feb 6, 2024
Merged

Initial manual implementation of CSE #284

merged 11 commits into from
Feb 6, 2024

Conversation

ehildenb
Copy link
Member

@ehildenb ehildenb commented Jan 17, 2024

Blocked on: runtimeverification/pyk#817
Blocked on: runtimeverification/evm-semantics#2256
Blocked on: #308
Blocked on: runtimeverification/pyk#832
Blocked on: #313
Blocked on: #325

This is an initial attempt at implementing the infrastructure needed for CSE, and some other small cleanups. In particular:

  • We allow importing other proofs/executions as summaries when running a given test via the --include-summary option.
  • We fix a minor issue when generating module names with _ in them.
  • We add a test of CSE working by displaynig the KCFG with the summaries being used.

You can try this example yourself manually with:

kontrol prove --verbose --foundry-project-root src/tests/integration/test-data/foundry --match-test 'ArithmeticContract.add(uint256,uint256)'
kontrol prove --verbose --foundry-project-root src/tests/integration/test-data/foundry --match-test 'ArithmeticCallTest.test_double_add' --include-summary 'ArithmeticContract.add(uint256,uint256)'

Then show the test_double_add function test.

@ehildenb ehildenb marked this pull request as ready for review February 5, 2024 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge cse enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants