Skip to content

Wrong WP computation when calling a function with behaviors (assigns problem ?)

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


Id Project Category View Due Date Updated
ID0000992 Frama-C Plug-in > wp public 2011-10-20 2013-04-19
Reporter Anne Assigned To correnson Resolution fixed
Priority high Severity major Reproducibility have not tried
Platform - OS - OS Version -
Product Version - Target Version - Fixed in Version Frama-C Fluorine-20130401

Description :

The assert [0==1] is proved Valid in the enclosed example. This is because the proof obligation has an hypothesis [b = b + 1] instead of [b = b' + 1].

This problem appears from rev 15799 which is about [assigns] : [WP] Warning for missing assigns clauses + better merge of assigns for function calls

Additional Information :

$ frama-c toto.c -wp -wp-prop F -wp-print -wp-no-simpl

Proof Obligation assert_1_F: Prover Alt-Ergo returns Valid Environment: Store_env1

  • Assumes Post-condition for 'end' (file toto.c, line 10) of 'add'
  • Assumes Post-condition for 'ok' (file toto.c, line 6) of 'add'
  • Proves Assertion 'F' (file toto.c, line 19) Goal store_f_assert_1_F: let bound_0 = 0 in let bound_1 = bound_0 in ((1000 <= bound_1) -> false) -> ((bound_1 < 1000) -> (bound_0 = (bound_1+1))) -> tag_F:(0 = 1)

Attachments

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