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

[pull] main from a16z:main #33

Merged
merged 7 commits into from
Apr 11, 2024
Merged

[pull] main from a16z:main #33

merged 7 commits into from
Apr 11, 2024

Commits on Mar 20, 2024

  1. Configuration menu
    Copy the full SHA
    1556374 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8053b58 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Configuration menu
    Copy the full SHA
    30c6bb7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f536c7 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Configuration menu
    Copy the full SHA
    c2d1926 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Configuration menu
    Copy the full SHA
    f868681 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. feat: --solver-command lets user replace z3 invocations

    This removes:
    
    - `--solver-subprocess`
    - `--solver-subprocess-command`
    - `--solver-fresh` (was unused AFAICT)
    
    This adds:
    
    - `--solver-command` with no default (meaning we run z3 in-process)
    - some prints about where SMT files are generated
    - auto-dumping of SMT files when invoking an external solver
    - a very crude way to determine if the external solver generated a valid model (instead of assuming it is valid, so that we still benefit from refinement)
    
    Before:
    
    ```sh
    $ halmos --root examples/simple --contract VaultTest --function check_mint -vvv --statistics
    [...]
    [FAIL] check_mint(uint256) (paths: 8, time: 282.15s (paths: 0.45s, models: 281.70s), bounds: [])
    ```
    
    After:
    
    ```sh
    $ halmos --root examples/simple --contract VaultTest --function check_mint -vvv --statistics --solver-command="bitwuzla -m"
    [...]
    [FAIL] check_mint(uint256) (paths: 8, time: 19.69s (paths: 0.46s, models: 19.22s), bounds: [])
    ```
    karmacoma-eth committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    3e160f5 View commit details
    Browse the repository at this point in the history