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

Improve implication endpoint in booster #3854

Open
goodlyrottenapple opened this issue May 9, 2024 · 2 comments
Open

Improve implication endpoint in booster #3854

goodlyrottenapple opened this issue May 9, 2024 · 2 comments

Comments

@goodlyrottenapple
Copy link
Contributor

goodlyrottenapple commented May 9, 2024

The recently merged implication endpoint in the booster is very conservative atm, especially when it comes to checking implication of the predicates. The current algorithm essentially just checks if the set of consequent predicates, minus the set of antecedent predicates all evaluate to true and aborts on any unknowns. In the next iteration, we should use the SMT solver to properly check implication of all thew predicates as a whole.

@ehildenb
Copy link
Member

ehildenb commented May 9, 2024

First we should measure what the effect is. Over the KEVM test-suite, for all the implications we do, how many and which ones fall back? What about for Kontrol? And for Kasmer?

We shouldn't speculatively implement any reasoning, it should all be motivated by data.

@goodlyrottenapple
Copy link
Contributor Author

Yes, this is why we didn't include it in the initial PR, the current implementation seems to be able to handle at least 80% of the cases in KEVM and Kontrol. Just putting this here to track the (in)completeness of the current booster implementation.

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