-
Notifications
You must be signed in to change notification settings - Fork 20
BMC with iterative constraint strengthening #805
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
Conversation
5dd0152 to
2f79853
Compare
| ^EXIT=0$ | ||
| ^SIGNAL=0$ | ||
| ^UNSAT: No counterexample found within bound$ | ||
| ^UNSAT: .*$ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use this (or any other) test to exercise bmc-with-assumptions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test added
| for(auto &h : property.timeframe_handles) | ||
| if(solver.get(h).is_false()) | ||
| return true; | ||
| return false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about return solver.get(h).is_false();
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That won't work -- note the loop.
2f79853 to
04aff5a
Compare
1424e6e to
22964f1
Compare
This implements "iterative constraint strengthening" in the word-level BMC engine (VMCAI 2009, Query-driven Program Testing), and makes it the default. The previous, assumption-based method remains available with --bmc-with-assumptions. When using MiniSat, the benefit on hwmcc08 is barely measurable. When using Cadical, the benefit is around 10%. MiniSat iterative 88.27s MiniSat asumptions 88.73s Cadical iterative 103.41s Cadical asumptions 117.74s
22964f1 to
eab9d87
Compare
BMC with iterative constraint strengthening
This implements "iterative constraint strengthening" in the word-level BMC
engine (VMCAI 2009, Query-driven Program Testing), and makes it the default.
The previous, assumption-based method remains available with
--bmc-with-assumptions.When using MiniSat, the benefit on hwmcc08 is barely measurable. When using
Cadical, the benefit is around 10%.
MiniSat iterative 88.27s
MiniSat asumptions 88.73s
Cadical iterative 103.41s
Cadical asumptions 117.74s