package frama-c

  1. Overview
  2. Docs

doc/frama-c-wp.core/Wp/Cvalues/index.html

Module Wp.CvaluesSource

Pretty Printing

Sourcetype 'a printer = Format.formatter -> 'a -> unit
Sourceval pp_acs : Sigs.acs printer
Sourceval pp_bound : Lang.F.term option printer
Sourceval pp_value : 'a printer -> 'a Sigs.value printer
Sourceval pp_logic : 'a printer -> 'a Sigs.logic printer
Sourceval pp_region : 'a printer -> 'a Sigs.region printer
Sourceval pp_sloc : 'a printer -> 'a Sigs.sloc printer
Sourceval pp_rloc : 'a printer -> 'a Sigs.rloc printer

Int-As-Booleans

Sourceval bool_val : Lang.F.unop
Sourceval bool_eq : Lang.F.binop
Sourceval bool_lt : Lang.F.binop
Sourceval bool_neq : Lang.F.binop
Sourceval bool_leq : Lang.F.binop
Sourceval bool_and : Lang.F.binop
Sourceval bool_or : Lang.F.binop

p ? 1 : 0

Sourceval is_false : Lang.F.pred -> Lang.F.term

p ? 0 : 1

Null Values

test for null pointer value

Start of Arrays

Sourceval startof : shift:('a -> Ctypes.c_object -> Lang.F.term -> 'a) -> 'a -> Frama_c_kernel.Cil_types.typ -> 'a

Shift a location with 0-indices wrt to its array type

Typing and Sub-Typing for C and ACSL Types

Sourceval cdomain : Ctypes.c_object -> (Lang.F.term -> Lang.F.pred) option

Volatile Access

Sourceval volatile : ?warn:string -> unit -> bool

Check if a volatile access must be properly modelled or ignored. In case the volatile attribute comes to be ignored, the provided warning is emitted, if any.

ACSL Equality

Sourcetype matrixinfo = Ctypes.c_object * int option list

C and ACSL Constants

Sourceval ainf : Lang.F.term option

Array lower-bound, ie `Some(0)`

Sourceval asup : int -> Lang.F.term option

Array upper-bound, ie `Some(n-1)`

Sourceval always_initialized : Frama_c_kernel.Cil_types.varinfo -> bool
Sourceval initialized_obj : Ctypes.c_object -> Lang.F.term
Sourceval uninitialized_obj : Ctypes.c_object -> Lang.F.term
Sourceval bytes_length_of_opaque_comp : Frama_c_kernel.Cil_types.compinfo -> Lang.F.term

Lifting Operations over Memory Values

Sourceval map_sloc : ('a -> 'b) -> 'a Sigs.sloc -> 'b Sigs.sloc
Sourceval map_value : ('a -> 'b) -> 'a Sigs.value -> 'b Sigs.value
Sourceval map_logic : ('a -> 'b) -> 'a Sigs.logic -> 'b Sigs.logic

ACSL Utilities

Sourcetype polarity = [
  1. | `Positive
  2. | `Negative
  3. | `NoPolarity
]

positive goal negative hypothesis

Sourceval negate : polarity -> polarity
Sourcemodule Logic (M : Sigs.Model) : sig ... end
OCaml

Innovation. Community. Security.