Changes between Version 15 and Version 16 of VerificationWithContracts


Ignore:
Timestamp:
01/31/16 23:04:11 (10 years ago)
Author:
ziqing
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VerificationWithContracts

    v15 v16  
    2828
    2929}}}
     30
     31== Pointers & Alias ==
     32Pointers can be asserted as valid pointers via using ACSL constructor `\valid`. ACSL allows programmers specify a set of valid
     33pointers which requires CIVL to be able to represent a `set`.
     34
     35CIVL has a typing rule: {{{  pointer PLUS CIVL_Range ==> An array of pointers  }}}. Other sets of different types may have the similar typing rule.
     36
     37For CIVL, coping with a `\valid` expression is tricky. For `\valid` expressions appear in assurances, one can implement the evaluation semantics
     38on a specific state. However, `\valid` appears in requirements brings problems, it heavily affects how CIVL constructs an initial state.
     39
     40For example:
     41{{{
     42
     43
     44}}}