Skip to content

Annotation wrongly displayed as checked (green bullet) whereas it is false, when using the option -rte on command line.

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


Id Project Category View Due Date Updated
ID0002258 Frama-C Plug-in > RTE public 2016-11-24 2016-12-05
Reporter julien-cohen Assigned To yakobowski Resolution fixed
Priority normal Severity major Reproducibility always
Platform PC OS Linux Ubuntu OS Version 16.04 LTS
Product Version Frama-C Magnesium Target Version - Fixed in Version -

Description :

I have a program with an incorrect acces outside an array. When lauching frama-c-gui with no options and value analysis, the out-of-bounds access is detected and the corresponding annotation is displayed with an orange bullet. When using the -rte option, two annotations are displayed (for the lower and upper bound of the array), and a green bullet is displayed for both (which is not correct).

/*@ assert rte: index_bound: 0 ≤ cpt; / /@ assert rte: index_bound: cpt < 5; */

The console says :

tableau_erreur.c:11:[value] Assertion 'rte,index_bound' got status valid.

Additional Information :

Posted on http://stackoverflow.com/questions/40763614/unsound-behavior-with-rte-option-in-magnesium/40766174#40766174 .

There are two screen captures there. Someone (anol) replied and gave additional information (see the post).

Steps To Reproduce :

Here is my program :

int main(){ int t[5] = {1,2,3,4,5}; int cpt =0 ; int tmp ; while (cpt<10){ tmp = getchar() ; if ( t[cpt] > tmp ) { return 1 ; } cpt++ ; } return 10 ; }

The problem occurs when launching frama-c-gui -rte and the calue analysis on this program.

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