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

Emit invariants for static global variables #1538

Open
michael-schwarz opened this issue Jul 7, 2024 · 1 comment
Open

Emit invariants for static global variables #1538

michael-schwarz opened this issue Jul 7, 2024 · 1 comment
Labels
bug relational Relational analyses (Apron, affeq, lin2var) sv-comp SV-COMP (analyses, results), witnesses

Comments

@michael-schwarz
Copy link
Member

michael-schwarz commented Jul 7, 2024

../../analyzer/goblint --conf ../../analyzer/conf/traces-rel.json --enable ana.sv-comp.functions --set dbg.timeout 1200 --set ana.activated[+] apron --set ana.path_sens[+] threadflag --set ana.relation.privatization mutex-meet-tid-cluster12 --enable allglobs -v --enable witness.yaml.enabled linux-3.14--drivers--media--platform--marvell-ccic--cafe_ccic.ko.cil-1.i --set witness.yaml.path out.yml

does not produce invariants for the program point in line 11382 which follows a lock. In the earlier version, we created invariants there. Our current version can also validate old invariants and when inspecting the program point there are things that Goblint finds hold there, so it seems to be a generation problem.

In general, for the SV-COMP subset used for ESOP'23 we do not create any invariants anymore.

@michael-schwarz michael-schwarz added bug relational Relational analyses (Apron, affeq, lin2var) labels Jul 7, 2024
@michael-schwarz
Copy link
Member Author

michael-schwarz commented Jul 7, 2024

The difference seems to be due to our witness generation treating all static variables as out-of-scope because they could be syntactically pulled up static variables with limited scope.
However, in the input program, they are actually globals with static linkage, i.e., file scope. We should add an option to add an attribute similar to goblint_cil_nested to those static locals that are pulled up.

@michael-schwarz michael-schwarz changed the title YAML lock invariants do not work for SV-COMP Emit invariants for static global variables Jul 7, 2024
@michael-schwarz michael-schwarz added the sv-comp SV-COMP (analyses, results), witnesses label Jul 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug relational Relational analyses (Apron, affeq, lin2var) sv-comp SV-COMP (analyses, results), witnesses
Projects
None yet
Development

No branches or pull requests

1 participant