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

halmos v2 planning #346

Open
2 of 17 tasks
daejunpark opened this issue Aug 15, 2024 · 2 comments
Open
2 of 17 tasks

halmos v2 planning #346

daejunpark opened this issue Aug 15, 2024 · 2 comments

Comments

@daejunpark daejunpark added the enhancement New feature or request label Aug 15, 2024
@karmacoma-eth
Copy link
Collaborator

karmacoma-eth commented Sep 19, 2024

architectural stuff:

  • release jsi
  • bake jsi into solvers image
  • test jsi integration in halmos
  • remove --test-parallel
  • fix --early-exit

@daejunpark
Copy link
Collaborator Author

daejunpark commented Sep 25, 2024

backlog:

further discussion needed:

  • ignore when assertion solving timeout, default = 1m (or 100s for generic storage)
  • path condition slicing:
    • tradeoff between overhead of maintaining dependencies and performance improvement is unclear
  • smt fuzzer
    • declarative aspects of smt queries are anti-patterns for fuzzing
    • individual queries correspond to non-branching programs, where coverage-guided fuzzing is no longer effective. combining multiple queries into a single program may be needed.

optional:

  • smt encoding using overflow predicates
  • preprocess and summarize function/contract paths, grouped by storage updates (a single merged path condition for all reverting paths)
  • path merging
  • hybrid dfs+bfs

done:

@daejunpark daejunpark removed the enhancement New feature or request label Nov 13, 2024
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

No branches or pull requests

2 participants