Skip to content

It should be possible to select SAT solver at runtime, not just compiletime #7467

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

Closed
danielsn opened this issue Jan 5, 2023 · 3 comments · Fixed by #7493
Closed

It should be possible to select SAT solver at runtime, not just compiletime #7467

danielsn opened this issue Jan 5, 2023 · 3 comments · Fixed by #7493
Assignees
Labels
aws Bugs or features of importance to AWS CBMC users pending merge

Comments

@danielsn
Copy link
Contributor

danielsn commented Jan 5, 2023

Currently, as of 5.73, you have the choice of building CBMC to use MiniSat or CaDiCaL as a solver. Each is faster in some cases. However, a user cannot choose on a per-proof basis which to use: they must set the right flag when compiling CBMC then are locked into that choice. This differs from the SMT experience, where you can choose the solver as a commandline flag

Proposal: Add a flag for selecting the SAT solver, just like in SMT

@danielsn danielsn added the aws Bugs or features of importance to AWS CBMC users label Jan 5, 2023
@qinheping
Copy link
Collaborator

qinheping commented Jan 5, 2023

The CBMC flag --external-sat-solver allow you to choose external sat solver. Is it what you are looking for?

@danielsn
Copy link
Contributor Author

danielsn commented Jan 5, 2023

The issue is that using an external sat solver brings in additional overhead vs a native interface (and afaik incremental solving doesn't work). CBMC has a native interface to CaDiCaL but that is either/or: you either pick minisat or CaDiCaL, but can't get both in the same build.

@martin-cs
Copy link
Collaborator

This was on our "Starter tasks" list for years. Run-time switching between the built-ins should be pretty straight-forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aws Bugs or features of importance to AWS CBMC users pending merge
Projects
None yet
5 participants