Module 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

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.