-
Notifications
You must be signed in to change notification settings - Fork 116
Open
Description
For the following program with --unwind 9
:
struct obj {
char values[100000];
struct {
int a: 1;
int b: 3;
};
};
union byte {
struct obj o;
char bytes[100000];
};
void init_obj(struct obj *o) {
for(int i = 0; i < 8; i++)
o->values[i] = nondet_int();
}
union byte u;
int main() {
init_obj(&u.o);
u.bytes[1] = 3;
__ESBMC_init_object(u.bytes);
__ESBMC_assert(u.bytes[10000] == 3 , "asd");
}
Running ESBMC with Boolector takes a few seconds to prove while Z3 times out after 5min. However, exporting the formula generated by boolector and feeding it to Z3 also solves it in seconds.
Also, the formula seems to be way smaller for boolector (3.9kb vs 11mb ). Do we have any ideas why?
Metadata
Metadata
Assignees
Labels
No labels