Module ChaoticIteration.Make
Parameters
Signature
module M : Stdlib.Map.S with type M.key = G.V.t and type 'a M.t = 'a Stdlib.Map.Make(G.V).t
Map used to store the result of the analysis
val recurse : G.t -> G.V.t Graph.WeakTopological.t -> (G.V.t -> D.t) -> G.V.t widening_set -> int -> D.t M.t
recurse g wto init widening_set widening_delay
computes the fixpoint of the analysis of a graph. This function uses the recursive iteration strategy: it recursively stabilizes the subcomponents of every component every time the component is stabilized (cf. Bourdoncle's paper).- parameter g
The graph to analyse.
- parameter wto
A weak topological ordering of the vertices of
g
.
- parameter widening_set
On which points to do the widening.
- parameter widening_delay
How many computations steps will be done before using widening to speed up the stabilisation. This counter is reset when entering each component, and is shared between all outermost vertices of this component. A negative value means
0
.
- parameter init
How to compute the initial analysis data.
- returns
A map from vertices of
g
to their analysis result.