Goblint_lib.ControlMain internal functionality: analysis of the program by abstract interpretation via constraint solving.
An analyzer that takes the CFG from MyCFG, a solver from Selector, constraints from Constraints (using the specification from MCP)
module type S2S = functor (X : Analyses.Spec) -> Analyses.Specval spec_module : (module Analyses.Spec) Lazy.tval get_spec : unit -> (module Analyses.Spec)gets Spec for current options
val current_node_state_json : (Node.t -> Yojson.Safe.t option) refval current_varquery_global_state_json :
(VarQuery.t option -> Yojson.Safe.t) refmodule AnalyzeCFG
(Cfg : MyCFG.CfgBidir)
(Spec : Analyses.Spec)
(Inc : Constraints.Increment) :
sig ... endGiven a Cfg, a Spec, and an Inc, computes the solution to MCP.Path
val analyze_loop :
(module MyCFG.CfgBidir) ->
GoblintCil.file ->
Analyses.fundecs ->
Analyses.increment_data option ->
GoblintCil.stmt list CfgTools.CfgEdgeH.t ->
unitval compute_cfg_skips :
GoblintCil.file ->
(module MyCFG.CfgBidir) * GoblintCil.stmt list CfgTools.CfgEdgeH.tval compute_cfg : GoblintCil.file -> (module MyCFG.CfgBidir)val analyze :
Analyses.increment_data option ->
GoblintCil.file ->
Analyses.fundecs ->
unitThe main function to perform the selected analyses.