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

X86 verification delays assuming preconditions too long #1702

Closed
robdockins opened this issue Jul 8, 2022 · 2 comments
Closed

X86 verification delays assuming preconditions too long #1702

robdockins opened this issue Jul 8, 2022 · 2 comments
Labels
subsystem: x86 Issues related to verifying x86 binaries via Macaw

Comments

@robdockins
Copy link
Contributor

When performing X86 verification, specification preconditions are not assumed prior to symbolically executing the function to be verified. Instead, they are only assumed during the assertPost phase, immediately before asserting the collected postconditions.

As a result, safety conditions that arise during symbolic simulation do not get to assume the specification preconditions, which can make them impossible to discharge if their safety, in fact, depends on those preconditions.

@robdockins robdockins added the subsystem: x86 Issues related to verifying x86 binaries via Macaw label Jul 8, 2022
@chameco
Copy link
Contributor

chameco commented Jul 8, 2022

See also #1095, which failed to consider this case. I suspect we can easily reuse some LLVM helper function for this (probably setupPrestateConditions), and also grab the precondition vacuity checking feature.

@robdockins
Copy link
Contributor Author

Fixed via #1705

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
subsystem: x86 Issues related to verifying x86 binaries via Macaw
Projects
None yet
Development

No branches or pull requests

2 participants