Frama-C Bug Tracking System - Frama-C | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0000612 | Frama-C | Documentation > ACSL | public | 2010-10-18 17:48 | 2014-02-12 16:55 |
Reporter | Jochen | ||||
---|---|---|---|---|---|
Assigned To | virgile | ||||
Priority | normal | Severity | text | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Platform | OS | OS Version | |||
Product Version | Frama-C Boron-20100401 | ||||
Target Version | Frama-C Carbon-20101201-beta1 | Fixed in Version | Frama-C Carbon-20101201-beta1 | ||
Summary | 0000612: Mention that invariant does not hold after for-loop | ||||
Description | The ACSL-1.4 reference, available from http://frama-c.com/acsl.html, explains on p.35-36 where the invariant of a for-loop shall hold as follows: ``The predicate I holds ... right after the initialization expression ...; for a for (init; c; step) s loop, I must be preserved by the side-effects of c followed by s followed by step''. While this is possibly the most compact explanation, it is based on the transformation of "for (init;c;step) s" into "init; while (1) { int C=c; if(!C) break; s; step; }", which seems to be rather unusual. As a consequence, the for-loop invariant does not hold after normal termination, if c has side-effects (cf. attached demonstration program). This unexpected fact should be mentioned in the ACSL reference. | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | ![]() https://bts.frama-c.com/file_download.php?file_id=121&type=bug |
There are no notes attached to this issue. |
Issue History | |||||
Date Modified | Username | Field | Change | ||
---|---|---|---|---|---|
2010-10-18 17:48 | Jochen | New Issue | |||
2010-10-18 17:48 | Jochen | Status | new => assigned | ||
2010-10-18 17:48 | Jochen | Assigned To | => signoles | ||
2010-10-18 17:48 | Jochen | File Added: ftest.c | |||
2010-10-18 18:01 | signoles | Assigned To | signoles => virgile | ||
2010-10-26 13:12 | virgile | Target Version | => Frama-C Carbon | ||
2010-12-02 16:54 | svn | ||||
2010-12-02 16:54 | svn | Status | assigned => resolved | ||
2010-12-02 16:54 | svn | Resolution | open => fixed | ||
2010-12-10 15:45 | signoles | Fixed in Version | => Frama-C Carbon-20101201-beta1 | ||
2010-12-17 19:35 | signoles | Status | resolved => closed | ||
2013-12-19 01:12 | Source_changeset_attached | => framac master d592363e | |||
2014-02-12 16:55 | Source_changeset_attached | => framac stable/neon d592363e | |||
2016-06-21 14:11 | signoles | Category | Documentation => Documentation > ACSL |