Module PulseAbductiveDomain.Memory

Safe version of PulseBaseMemory

eval_edge (addr,hist) access astate follows the edge addr --access--> . in memory and returns what it points to or creates a fresh value if that edge didn't exist.

val fold_edges : ?pre_or_post:[ `Pre | `Post ] -> Pulselib.PulseBasicInterface.AbstractValue.t -> (t, PulseAccess.t * (Pulselib.PulseBasicInterface.AbstractValue.t * Pulselib.PulseBasicInterface.ValueHistory.t), _) IStdlib.IStd.Container.fold

pre_or_post defaults to `Post

pre_or_post defaults to `Post

merge the stacks of the given astates into one and set the stack of the first abstract state to be the merged stack