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

[SMTChecker] Keep track of current path conditions #3304

Merged
merged 2 commits into from Dec 18, 2017

Conversation

@leonardoalt
Copy link
Member

leonardoalt commented Dec 11, 2017

  • Added the implies operator to the SolverInterface.
  • Keeping track of the current path conditions.
  • Using the conjunction of the current path conditions as implicant for checks instead of pushing the solver. The solver is still pushed/popped for the check, but not for the condition scope.
@LianaHus LianaHus added in progress and removed in progress labels Dec 11, 2017
@@ -605,12 +606,12 @@ void SMTChecker::checkBooleanNotConstant(Expression const& _condition, string co
return;

m_interface->push();
m_interface->addAssertion(expr(_condition));
m_interface->addAssertion(currentPathConditions() && expr(_condition));

This comment has been minimized.

Copy link
@chriseth

chriseth Dec 12, 2017

Contributor

Can you add a helper for m_interface->addAssertion(currentPathCondition() && x)?

This comment has been minimized.

Copy link
@leonardoalt

leonardoalt Dec 13, 2017

Author Member

Done.

@leonardoalt leonardoalt force-pushed the leonardoalt:smt_checker branch from 23ca2a9 to a1e296e Dec 13, 2017
@chriseth chriseth merged commit 2e2f819 into ethereum:develop Dec 18, 2017
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@LianaHus LianaHus removed the needs review label Dec 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.