package goblint
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=b729c94adb383a39aea32eb005c988dfd44b92af22ee6a4eedf4239542ac6c26
sha512=643b98770e5fe5644324c95c9ae3a9f698f25c8b11b298f0751d524e0b20af368b2a465fc8200b75a73d48fc9a053fd90f5e8920d4db070927f93188bb8687e0
doc/goblint.lib/Goblint_lib/Analyses/index.html
Module Goblint_lib.Analyses
Analysis specification and constraint system signatures.
module M = MessagesAnalysis starts from lists of functions: start functions, exit functions, and * other functions.
module type SysVar = sig ... endmodule type VarType = sig ... endmodule Var : sig ... endmodule VarF (LD : Printable.S) : sig ... endmodule type SpecSysVar = sig ... endmodule GVarF (V : SpecSysVar) : sig ... endmodule GVarFC (V : SpecSysVar) (C : Printable.S) : sig ... endmodule GVarG (G : Lattice.S) (C : Printable.S) : sig ... endmodule ResultNode : Printable.S with type t = MyCFG.nodemodule type ResultConf = sig ... endmodule Result (Range : Printable.S) (C : ResultConf) : sig ... endtype ('d, 'g, 'c, 'v) ctx = {ask : 'a. 'a Queries.t -> 'a Queries.result;emit : Events.t -> unit;node : MyCFG.node;prev_node : MyCFG.node;control_context : unit -> ControlSpecC.t;(*top-level Control Spec context, raises
*)Ctx_failureif missingcontext : unit -> 'c;(*current Spec context, raises
*)Ctx_failureif missingedge : MyCFG.edge;local : 'd;global : 'v -> 'g;spawn : ?multiple:bool -> GoblintCil.lval option -> GoblintCil.varinfo -> GoblintCil.exp list -> unit;split : 'd -> Events.t list -> unit;sideg : 'v -> 'g -> unit;
}val ask_of_ctx : ('a, 'b, 'c, 'd) ctx -> Queries.askConvert ctx to Queries.ask.
module type Spec = sig ... endmodule type MCPA = sig ... endmodule type MCPSpec = sig ... endtype increment_data = {server : bool;solver_data : Obj.t;changes : CompareCIL.change_info;restarting : VarQuery.t list;
}type 'v sys_change_info = {obsolete : 'v list;(*Variables to destabilize.
*)delete : 'v list;(*Variables to delete.
*)reluctant : 'v list;(*Variables to solve reluctantly.
*)restart : 'v list;(*Variables to restart.
*)
}Abstract incremental change to constraint system.
module type MonSystem = sig ... endA side-effecting system.
module type EqConstrSys = MonSystem with type 'a m := 'a optionAny system of side-effecting equations over lattices.
module type GlobConstrSys = sig ... endA side-effecting system with globals.
module type GenericEqIncrSolverBase =
functor (S : EqConstrSys) ->
functor (H : Batteries.Hashtbl.S with type key = S.v) ->
sig ... endA solver is something that can translate a system into a solution (hash-table). Incremental solver has data to be marshaled.
module type IncrSolverArg = sig ... end(Incremental) solver argument, indicating which postsolving should be performed by the solver.
module type GenericEqIncrSolver =
functor (Arg : IncrSolverArg) ->
GenericEqIncrSolverBaseAn incremental solver takes the argument about postsolving.
module type GenericEqSolver =
functor (S : EqConstrSys) ->
functor (H : Batteries.Hashtbl.S with type key = S.v) ->
sig ... endA solver is something that can translate a system into a solution (hash-table)
module type GenericGlobSolver =
functor (S : GlobConstrSys) ->
functor (LH : Batteries.Hashtbl.S with type key = S.LVar.t) ->
functor (GH : Batteries.Hashtbl.S with type key = S.GVar.t) ->
sig ... endA solver is something that can translate a system into a solution (hash-table)
module ResultType2 (S : Spec) : sig ... endmodule StdV : sig ... endmodule UnitV : sig ... endmodule VarinfoV : sig ... endmodule EmptyV : sig ... endmodule UnitA : sig ... endmodule UnitP : sig ... endmodule DefaultSpec : sig ... endRelatively safe default implementations of some boring Spec functions.
module IdentitySpec : sig ... endmodule type SpecSys = sig ... endmodule type SpecSysSol = sig ... end