Goblint_lib.Control
Main 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.Spec2Spec
val spec_module : (module Analyses.Spec) Stdlib.Lazy.t
val get_spec : unit -> (module Analyses.Spec)
gets Spec for current options
val current_node_state_json : (Node.t -> Yojson.Safe.t option) Batteries.ref
val current_varquery_global_state_json :
(VarQuery.t option -> Yojson.Safe.t) Batteries.ref
module AnalyzeCFG
(Cfg : MyCFG.CfgBidirSkip)
(Spec : Analyses.Spec)
(Inc : Constraints.Increment) :
sig ... end
Given 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 ->
unit
val analyze :
Analyses.increment_data option ->
GoblintCil.file ->
Analyses.fundecs ->
unit
The main function to perform the selected analyses.