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

Exclude Goblint stubs from YAML witnesses #1334

Merged
merged 2 commits into from
Feb 7, 2024
Merged

Conversation

sim642
Copy link
Member

@sim642 sim642 commented Jan 24, 2024

This fixes the issue identified by Freiburg.

The other "issue" with (unsigned long )_ == 0UL or really any (unsigned long )arg == 0UL has no easy improvement in Goblint. I thought it came from relation analysis because of the cast, but apparently it comes from base. Passing 0 into an void* argument performs no cast and simply puts the integer abstraction into the state for the pointer variable. The outputted invariant comes from IntDomain instead, which correctly inserts the cast.

I thought about using Cilfacade.makeBinOp which hopefully would be smarter about inserting casts for binary operators, but actually it's worse and turns it into (unsigned long )arg == (unsigned long )((void *)0) because of goblint/cil#162. If that is fixed, then we might have a neater way.

@sim642 sim642 added bug sv-comp SV-COMP (analyses, results), witnesses labels Jan 24, 2024
@sim642 sim642 added this to the v2.4.0 milestone Jan 24, 2024
Copy link
Member

@michael-schwarz michael-schwarz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the one remark on style. LGTM!

src/witness/yamlWitness.ml Outdated Show resolved Hide resolved
@sim642 sim642 merged commit cab0404 into master Feb 7, 2024
16 of 17 checks passed
@sim642 sim642 deleted the freiburg-witness-fixes branch February 7, 2024 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug sv-comp SV-COMP (analyses, results), witnesses
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants