Skip to content

Failure to record global variable with initialiser

ID0002194: This issue was created automatically from Mantis Issue 2194. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002194 Frama-C Plug-in > E-ACSL public 2015-12-04 2019-01-25
Reporter kvorobyov Assigned To signoles Resolution open
Priority normal Severity minor Reproducibility always
Platform - OS - OS Version -
Product Version - Target Version - Fixed in Version -

Description :

/* The following example wrongly fails the assertion */ #include <inttypes.h> char *B = "foo";

unsigned long ref() { return (intptr_t)B; }

int main(int argc, char **argv) { char ptr = (char)ref(); //@ assert \valid_read(ptr); return 0; }

Additional Information :

This seems to be the case where memory analysis incorrectly determines that global variable 'B' should not be modelled and therefore it is omitted from the instrumentation.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information