Reworked symbolic execution code#1394
Merged
elopez merged 80 commits intocrytic:masterfrom Aug 6, 2025
Merged
Conversation
removed old solc versions, use 0.8.x only instead
…hen doing symbolic exploration
Collaborator
Author
|
It seems that the latest merge broke it: https://github.com/crytic/echidna/actions/runs/16471079633/job/46560187173?pr=1394#step:14:34 😅 |
elopez
reviewed
Aug 3, 2025
elopez
reviewed
Aug 5, 2025
Co-authored-by: Emilio López <[email protected]>
elopez
approved these changes
Aug 6, 2025
datradito
pushed a commit
to datradito/echidna-mcp
that referenced
this pull request
Dec 29, 2025
* removed old solc versions, use 0.8.x only instead * fixed harvey test * started to fix symexec using latest hevm * added RPC support for symbolic execution + some clean up * better constraints for block timestamp and number * improved and simplified symexec code * removed useless code * some test fixes * increase the number of random symbolic transaction if the corpus is empty * added comments on why we only take one method from the shuffle list when doing symbolic exploration * allow user to select smt solver * use slither to filter functions with assert, if any * started adding full verification mode for stateless campaigns * refactored tons of code * improved code for exploration/verification * finished implementation and get back to hevm master * fixed issue in addBlockConstraints and upgraded hevm * disable debug mode when using interactive mode * corrected array size in symbolic output * fix decoding of negative numbers * simplified code for decoding of negative numbers * removed initialize field from default * use verification mode for sym-assert test * added some basic verification tests * make the harvey test more reliable * simplified exploration code and added shrinking * added new test for exploration mode (but disabled so far) * worker related refactoring code to allow other parts of the codebase to send events * make sure symExecTarget is used to select methods * keccak preimage support enabled * reduced code duplication * added documentation * use new types in Types/Config.hs * removed killed-related files
This file contains hidden or 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
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 brings a good number of important changes to the symbolic execution code:
Some unrelated changes included in this PR:
Known issues: