solidity icon indicating copy to clipboard operation
solidity copied to clipboard

[SMTChecker] Use unified way with SMTLIB interface for calling all solvers

Open blishko opened this issue 2 years ago • 12 comments

This is an initial draft for removing specialized solver interfaces (Z3, CVC4) and use only SMTLIB interface for communicating with all solvers.

Things to resolve

  • [x] Check tests results, some changes are suspicious
  • [ ] Pull Z3's resource limit to some constexpr field (common for SMTLIB and CHCSmtLib interfaces)
  • [x] What is the proper way to enable SMT callback in test framework?
  • [ ] Check proper distinction between available solvers (testing presence of executable on the PATH) and requested solvers (from command line)
  • [ ] Enable multiple solvers in CHC engine
  • [x] Fix (or remove) use of SMT in libyul/optimiser/ReasoningBasedSimplifier
  • [ ] Fix (or remove) use of two-phase SMT solving method (most likely can be removed)
  • [x] Change SMT callback to query the solvers thorugh a pipe instead of a temporary file (?)

blishko avatar Jun 27 '23 10:06 blishko

There was an error when running chk_coding_style for commit 56a4220263deec83dc27f83ee0a0e7b62be54877:

Error: Trailing whitespace found:
test/cmdlineTests/model_checker_print_query_bmc/args:1:--model-checker-engine bmc --model-checker-print-query --model-checker-solvers z3 

Please check that your changes are working as intended.

stackenbotten avatar Aug 11 '23 18:08 stackenbotten

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Aug 31 '23 12:08 github-actions[bot]

Note, so we remeber about this:

  • currently --model-checker-print-query cmdline param requires smtlib2 solver, so with current changes we'll have to clarify that in changelog

pgebal avatar Sep 18 '23 09:09 pgebal

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Oct 06 '23 12:10 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Oct 21 '23 12:10 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Nov 05 '23 12:11 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Nov 20 '23 12:11 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Dec 05 '23 12:12 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Dec 20 '23 12:12 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Jan 04 '24 12:01 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Jan 19 '24 12:01 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Feb 06 '24 12:02 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Feb 21 '24 12:02 github-actions[bot]

This pull request is stale because it has been open for 14 days with no activity. It will be closed in 7 days unless the stale label is removed.

github-actions[bot] avatar Mar 13 '24 12:03 github-actions[bot]

This pull request was closed due to a lack of activity for 7 days after it was stale.

github-actions[bot] avatar Mar 21 '24 12:03 github-actions[bot]