Skip to content

invariant with quantifier not kept in computed slice

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


Id Project Category View Due Date Updated
ID0000448 Frama-C Plug-in > slicing public 2010-04-13 2014-02-12
Reporter dpariente Assigned To Anne Resolution fixed
Priority normal Severity minor Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C GIT, precise the release id Target Version - Fixed in Version Frama-C Carbon-20101201-beta1

Description :

On the following code:

void L (float u,int nn, float dabs[], float y) { int ii; /@ loop invariant (\forall integer k; 0<=k<ii ==> u<=dabs[k]); */ for (ii = nn-2; ii >= 0; ii--) *y = u - dabs[ii+1] * 2.0; //@slice pragma expr *y; }

analyzed with: frama-c -slicing-keep-annotations -slice-pragma L -slice-print -ocode L_sliced.c -main L -lib-entry l.c

the computed slice does not contain the invariant.

(Please note that the invariant annotation is not relevant nor provable, but just illustrates the problem met)

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