Frama-C Bug Tracking System - Frama-C
View Issue Details
0002114Frama-CDocumentation > ACSLpublic2015-05-05 17:292016-01-26 08:52
dcok@grammatech.com 
patrick 
normalminorhave not tried
closedfixed 
Frama-C Sodium 
Frama-C MagnesiumFrama-C Magnesium 
0002114: ACSL manual:issues affecting technical correctness or understanding
These are issues affecting technical correctness or understanding that I encountered in a recent read through of the ACSL 1.9 manual. p. 27: There are extraneous { delimiters in the example. p. 51/52, Example 2.42: Either line 3 of the example should have ? (n-1) :" instead of "? n :" or the explanation should be corrected. p. 56, Example 2.47: "modifies t[k]" -> "only modifies t[k]" p. 57: "where the file list.acsl contains logic definitions" -> "where the file List.acsl contains logic definitions" - at least I presume the name of the file must be a case-senstive match to the name of the module p. 58: "\valid {L}(p) <==> \valid{L}(((char *)p)+(0..sizeof(*p)))" should be "\valid {L}(p) <==> \valid{L}(((char *)p)+(0..sizeof(*p)-1))" and similarly for \valid_read p. 71, Example 2.59: These specs allow forbidden to have more values than the union of {\result} and \old(forbidden) p. 72: In "It is however possible to write multi-line annotations for ghost code. These annotations are enclosed between /@ and @/. As in normal annotations, @s at the beginning of a line and at the end of the comment (before the final @/) are considered as blank." the /@ and @/ should be /*@ and @*/
Read the documentation
No tags attached.
Issue History
2015-05-05 17:29dcok@grammatech.comNew Issue
2015-05-05 17:29dcok@grammatech.comStatusnew => assigned
2015-05-05 17:29dcok@grammatech.comAssigned To => signoles
2015-05-05 17:33signolesAssigned Tosignoles => virgile
2015-05-05 17:33signolesTarget Version => Frama-C Magnesium
2015-05-05 17:36dcok@grammatech.comNote Added: 0005911
2015-09-04 10:50bobotAssigned Tovirgile => patrick
2015-09-07 10:18patrickNote Added: 0006022
2015-09-07 10:29patrickStatusassigned => resolved
2015-09-07 10:29patrickResolutionopen => fixed
2016-01-26 08:51signolesFixed in Version => Frama-C Magnesium
2016-01-26 08:52signolesStatusresolved => closed
2016-06-21 14:11signolesCategoryDocumentation => Documentation > ACSL

Notes
(0005911)
dcok@grammatech.com   
2015-05-05 17:36   
One more: p. 27: The statement "Beware that equality of unions is also equality of all fields." deserves some explanation. It is equality of all fields, even if they overlap - so not just equality of the last assignment. If it is equality of all fields, then the example just above ought to be true.
(0006022)
patrick   
2015-09-07 10:18   
all accepted except: p.27 "There are extraneous { delimiters in the example." -> Extraneous { was not found? p. 72 "... the /@ and @/ should be /*@ and @*/" -> No, because the C preprocessor closes alls /*@ when it reaches the first @*/ p. 27 "... If it is equality of all fields, then the example just above ought to be true." -> No, for the union type the equality is false.