module type Analysis = sig .. end
type data
information stored at each vertex
type label
the label of edges of the underlying graph
type vertex
type of a vertex of the underlying graph
type cfg
type of the underlying graph
val direction : Fixpoint.direction
the direction of the analysis
val join : data -> data -> data
operation how to join data when paths meet
val equal : data -> data -> bool
predicate to determine the fixpoint
val analyze : label -> data -> data
the actual analysis of one label; provided the label and the incoming
data, it needs to compute the outgoing data