Skip to content

Optimize fuzzing using targeted substitution #77

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

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

bbyalcinkaya
Copy link
Member

This PR improves performance by optimizing the substitution algorithm in the fuzzer. Substitutions now target only the <program> cell via the subst_func parameter in fuzz. This prevents the substitution from needlessly traversing these large terms, leading to a 3x speedup in fuzzing.

The speedup was measured using the existing test suite, particularly the FxDAO tests. In cases where the initial state is larger—such as tests involving multiple contracts or bigger contracts—the performance improvement is even more significant.

@bbyalcinkaya bbyalcinkaya marked this pull request as ready for review May 5, 2025 09:48
@bbyalcinkaya bbyalcinkaya requested a review from gtrepta May 5, 2025 09:49
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

Successfully merging this pull request may close these issues.

2 participants