Frama-C:
Plug-ins:
Libraries:

Frama-C API - Chunk

Memory Chunks.

The concrete memory is partionned into a vector of abstract data. Each component of the partition is called a memory chunk and holds an abstract representation of some part of the memory.

Remark: memory chunks are not required to be independant from each other, provided the memory model implementation is consistent with the chosen representation. Conversely, a given object might be represented by several memory chunks. See Model.domain.

type t
val self : string

Chunk names, for pretty-printing.

include Type with type t := t
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 -> Lang.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_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.