-
Notifications
You must be signed in to change notification settings - Fork 77
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
Region analysis type mismatch failures in SV-COMP SoftwareSystems #118
Comments
ldv-linux-3.16-rc1/205_9a_array_unsafes_linux-3.16-rc1.tar.xz-205_9a-drivers--net--arcnet--rfc1201.ko-entry_point.cil.out.iAll but the last two contain an identical
|
So I don't really see any good reason to keeping the localized vars set... I think the motivation may have been trying to deal with cases where regions collapse and then are restored within a critical section, such as moving elements from one list to another. But then, the attempts to handle this were instead implemented in |
The one subtle thing it achieves is supporting "side effects" during global initializers (which currently just fail) by actually I will try to add basic global support to the global initializers. This is hopefully easier than getting global initializers to part of the constraint system entirely, which would be nice though. It's very ironic that global initializers cannot access globals... |
The minimizer arrived at the following example program that triggers the bug, though it does not appear helpful here, especially as it does not compile. #include<stdlib.h>
struct a {
int b;
};
struct c {
struct a d;
} typedef *e;
struct c *j;
e l[1];
int m;
g(struct a *n) { n->b = k(); }
main() { g(&j->d); }
int *k() {
void *h = calloc(1, 8);
l[m] = h;
m = m + 1;
return h;
} |
Additionally conditioning a creduce script to require compilation to succeed (possibly without warnings) would be beneficial here. If the program itself contains weird type inconsistencies, then mismatches in Goblint aren't surprising. |
In my own run of Goblint on SV-COMP SoftwareSystems category, Goblint crashed with
analyzer/src/cdomains/lval.ml
Lines 508 to 514 in 3164939
from region analysis domain (which uses
PartitionDomain
andcollapse
functions) on the following benchmarks:The text was updated successfully, but these errors were encountered: