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

Handle some special cases of bitand in invariant and Interval, DefExc, and Congruences #1154

Merged
merged 3 commits into from
Sep 12, 2023

Conversation

michael-schwarz
Copy link
Member

This handles some special cases of bitand where the second argument can be proven to be 1 or 0, allowing for tracking the value of the LSB as suggested in #1153.

This focuses on this special use case for now, there is lots of potential to become more precise in the remaining cases as well, but for now it is not clear to me where that would be beneficial (and to what extent).

(Though a principled handling of all bit-wise operations in all supported domains and comparison of the results before and after on sv-comp might be a good topic for a Bachelor's thesis)

src/cdomains/intDomain.ml Show resolved Hide resolved
src/cdomains/intDomain.ml Show resolved Hide resolved
src/cdomains/intDomain.ml Show resolved Hide resolved
@sim642 sim642 added this to the v2.2.0 milestone Sep 11, 2023
@michael-schwarz michael-schwarz merged commit 037e9ce into master Sep 12, 2023
4 checks passed
@michael-schwarz michael-schwarz deleted the issue_1153 branch September 12, 2023 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Tracking bit status information in goblint
2 participants