Parameter Make0.S

type v
type d
module Var : ConstrSys.VarType with type t = v

Variables must be hashable, comparable, etc.

module Dom : Lattice.S with type t = d

Values must form a lattice.

val system : v -> ((v -> d) -> (v -> d -> unit) -> d) option

The system in functional form.

val sys_change : (v -> d) -> v ConstrSys.sys_change_info

Compute incremental constraint system change from old solution.

val postmortem : v -> v list

List of unknowns that should be queried again when the argument unknown has shrunk to bot, to eagerly trigger (analysis-time!) abstract garbage collection idependently of reach-based pruning at the end.

  • see https://arxiv.org/abs/2504.06026

    Stemmler, F., Schwarz, M., Erhard, J., Tilscher, S., Seidl, H. Taking out the Toxic Trash: Recovering Precision in Mixed Flow-Sensitive Static Analyses