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

Tweaks to bvdomain and strlen #485

Merged
merged 7 commits into from
May 29, 2020
Merged

Tweaks to bvdomain and strlen #485

merged 7 commits into from
May 29, 2020

Conversation

robdockins
Copy link
Contributor

No description provided.

The previous value was causing problems with abstract domain
calculations and path sat checking.
This almost always results in better code for symbolic execution.
tests the simulator's ability to terminate in a reasonable way
in a loop that is upper bounded by the result of `strlen`.
This relies on the bitvector abstract domains behaving well enough
to determine that certain memory accesses out of bounds.
This tests that the standard Euclidean GCD algorithm symbolically
terminates in at most 13 steps for 8-bit values.  Without path-sat
checking, this will still terminate because of bitvector abstract
domain information, but will require many more iterations.
@robdockins robdockins mentioned this pull request May 22, 2020
Apparently, the default differs across platforms, so
we fix it here under the assumption that the original
compilation to .ll fixed the desired optimization level.
@robdockins robdockins merged commit 070fe75 into master May 29, 2020
@robdockins robdockins deleted the bvdom-tweaks branch June 18, 2020 00:43
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

Successfully merging this pull request may close these issues.

1 participant