Skip to content

can't prove (trivial) validity of memory access of "p->a"

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


Id Project Category View Due Date Updated
ID0002112 Frama-Clang Plug-in > clang public 2015-05-04 2015-05-04
Reporter Jochen Assigned To virgile Resolution open
Priority normal Severity minor Reproducibility always
Platform Sodium-20150201 OS - OS Version xubuntu14.04
Product Version Frama-C Sodium Target Version - Fixed in Version -

Description :

Running "frama-c -wp -wp-rte 477.cpp" on the attached program leaves an obligation "typed_main_assert_rte_mem_access" unproven by Alt-Ergo. It goal formula in file "main_assert_rte_mem_access_Alt-Ergo.mlw" reads:

576 goal main_assert_rte_mem_access: 577 forall t_1,t : int farray. 578 linked(t) -> 579 valid_rw(t_1, shiftfield_F__Z1X_a(shift__Z1X(global(L_x_111), 0)), 1)

When "t" is changed to "t_1" in line 578, the formaula is proven. This looks as if an "assigns" clause is missing for some operator. However, there is no user-defined operator involved here, so the necessary "assigns" clause should be generated by Frama-C.

Attachments

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