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 = Analyses.Spec2Specval spec_module : (module Analyses.Spec) Stdlib.Lazy.tval get_spec : unit -> (module Analyses.Spec)gets Spec for current options
val current_node_state_json : (Node.t -> Yojson.Safe.t option) Batteries.refval current_varquery_global_state_json :
(Goblint_constraint.VarQuery.t option -> Yojson.Safe.t) Batteries.refmodule AnalyzeCFG
(Cfg : MyCFG.CfgBidirSkip)
(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.CfgBidirSkip) ->
GoblintCil.file ->
Analyses.fundecs ->
Analyses.increment_data option ->
unitval analyze :
Analyses.increment_data option ->
GoblintCil.file ->
Analyses.fundecs ->
unitThe main function to perform the selected analyses.