-
Notifications
You must be signed in to change notification settings - Fork 151
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
provide KEVMSummarizer
to sammarize rules for all the instruction rules
#2676
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Please provide a description of the changes. |
4d35b3e
to
3005ef4
Compare
f898a19
to
d5a7ae7
Compare
Stevengre
commented
Feb 11, 2025
Stevengre
commented
Feb 11, 2025
1627db5
to
6d07ba8
Compare
anvacaru
reviewed
Feb 12, 2025
description: |
anvacaru
reviewed
Feb 13, 2025
anvacaru
reviewed
Feb 13, 2025
ehildenb
reviewed
Feb 14, 2025
kevm-pyk/src/kevm_pyk/kproj/evm-semantics/lemmas/int-simplification.k
Outdated
Show resolved
Hide resolved
ehildenb
reviewed
Feb 14, 2025
ehildenb
reviewed
Feb 14, 2025
b943a5e
to
97bda5b
Compare
ehildenb
reviewed
Feb 24, 2025
f0abbc9
to
2efe05c
Compare
ehildenb
reviewed
Mar 4, 2025
- Update method name from `word_stack` to `wordstack` - Rename internal helper functions accordingly - Update method call in summarizer to use new method name
- Update poetry.lock and pyproject.toml to include frozendict package - Modify summarizer.py to use frozendict for OPCODES, OPCODES_SUMMARY_STATUS, NOT_USEGAS_OPCODES, ACCOUNT_QUERIES_OPCODES, and ACCOUNT_STORAGE_OPCODES - Use Final type hint to indicate these are constant dictionaries/sets - Improve type safety and performance by using immutable data structures
- Clean up unnecessary commented-out dictionary entry in summarizer.py - Simplify the OPCODES_SUMMARY_STATUS dictionary by removing the verbose comment
- Improve docstring for accounts_cell function in summarizer.py - Add detailed explanation of function arguments, return values, and behavior - Clarify the purpose and mechanism of creating account cell maps with constraints
- Replace TODO comment with ellipsis (...) in build_stack_underflow_spec method - Indicate method is a placeholder for future symbolic stack underflow specification
- Enhance docstring for build_spec method with comprehensive description - Add detailed explanation of method arguments and return value - Clarify the purpose of symbolically executing an Ethereum opcode
- Refactor default argument initialization using Python's or-assignment - Replace multiple if-checks with concise default value assignments - Improve code readability and reduce redundancy in method arguments
- Add static methods in KEVM class for account cell and opcode operations - Simplify accounts_cell function by leveraging new KEVM static methods - Improve code reusability and readability by extracting common operations - Update method calls in summarizer to use new KEVM helper methods
- Clean up unnecessary whitespace in kevm.py and summarizer.py - Improve code consistency by removing extra blank lines - Maintain clean code formatting across modules
- Create a new Makefile target for running summarize-related tests - Use PYTEST_ARGS to filter and run specific summarization tests - Integrate with existing poetry and kevm-pyk build process
…o summarize multiple opcodes successfully. - Introduce `verifyKZGProofWrapper` and `Sha256rawWrapper` in serialization.md - Replace direct calls to `verifyKZGProof` and `Sha256raw` with new wrapper functions in evm.md - Maintain existing functionality while providing a flexible interface for future modifications
- Add new 'Test Summarize' job to GitHub Actions workflow - Change summary status for MUL, CALLVALUE, and BASEFEE opcodes from PASSED to FAILED - Modify proof_show method to use to_module=True when writing summary files
- Downgrade Poetry version from 2.1.1 to 2.0.1 - Simplify dependency constraints for various packages - Remove platform-specific and version-specific conditionals - Update content hash to reflect changes
- Add step to selectively check out the kevm-pyk/src/kevm_pyk/kproj/plugin submodule - Use git submodule update with --init and --recursive flags - Ensure precise submodule initialization in GitHub Actions workflow
- Create new summarization-simplification.k module with log2Int and newAddr simplification rules - Update edsl.md to import the new summarization-simplification module - Move log2Int simplification rule from int-simplification.k to new module
- Delete the 'Test Summarize' job from the test-pr.yml workflow - Simplify CI configuration by removing redundant test job
- Introduce new 'Summarization' test job in test-pr.yml - Set test suite timeout to 360 seconds - Configure parallel test execution with 2 parallel processes - Update distribution build to include evm-semantics.summary target
- Extend timeout for Summarization test job from 360 to 720 seconds - Maintain parallel test execution configuration
- Reduce timeout from 720 to 150 seconds - Increase parallel test execution from 2 to 6 processes
- Extend timeout for Summarization test job from 150 to 240 seconds - Maintain parallel test execution configuration at 6 processes
- Extend timeout for Summarization test job from 240 to 360 seconds - Maintain parallel test execution configuration at 6 processes
- Add pytest skip conditions for specific opcodes known to be time-consuming - Improve test suite efficiency by bypassing lengthy summarization tests
- Add new `show_proof` method to centralize proof display logic - Remove repeated node printer and proof show initialization in multiple methods - Simplify code by using the new centralized method in `summarize`, `print_node`, and proof generation
8785950
to
3745fb7
Compare
- Remove 'watchdog' from extras - Adjust hypothesis-crosshair version in crosshair extras - Simplify 'all' extras by removing 'watchdog'
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR provides
KEVMSummarizer
to summarize the application of opcodes into one rewrite step.Currently,
USEGAS
.CALL
cannot be summarized.