Module PostSolver.EqConstrSysFromStartEqConstrSys

Join start values into right-hand sides. This simplifies start handling in Make.

Parameters

Signature

type v = S.v
type d = S.d
module Var = S.Var

Variables must be hashable, comparable, etc.

module Dom = S.Dom

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