Frama-C:
Plug-ins:
Libraries:

Frama-C API - Chunk

Uniform access to chunks features.

type t = chunk
val self : string

Chunk type name for datatype registration.

val hash : t -> int
val equal : t -> t -> bool
val compare : t -> t -> int
val pretty : Stdlib.Format.formatter -> t -> unit
val tau_of_chunk : t -> F.tau

The type of data hold in a chunk.

val basename_of_chunk : t -> string

Used when generating fresh variables for a chunk.

val is_init : t -> bool

Whether the chunk tracks memory initialization (used for filtering).

val is_primary : t -> bool

Used to sort memory chunk parameters in compiled ACSL symbols.

Non-primary chunk parameters come first, followed by primary ones, followed by logical parameters.

Typical primary chunks are memory chunks with a single location, like hoare of ref variables in MemVar or singleton regions in MemRegion.

val is_framed : t -> bool

Whether the chunk is local to a function call.

Means the chunk is separated from anyother call side-effects. If true, entails that a function assigning everything can not modify the chunk. Only used for optimisation, it would be safe to always return false.