package goblint

  1. Overview
  2. Docs
Static analysis framework for C

Install

Dune Dependency

Authors

Maintainers

Sources

goblint-2.0.0.tbz
sha256=2f4f2e25b765452f0e336941f35f6cb396d7c213a2d347abe5d35febc5159b1f
sha512=e96af4cad91f6985c8db93c194925853e96cad0ec1a0d9f4d32bbe16d3e5fa1e305f54be02839f21ba89ad2af0c2d5d7aa819ade221ce097dc4dbd0fcd8c8500

doc/goblint.lib/Goblint_lib/Uninit/Spec/index.html

Module Uninit.Spec

include module type of struct include Analyses.DefaultSpec end
type marshal = unit
val init : 'a -> unit
val finalize : unit -> unit
val vdecl : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val asm : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a
val skip : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a
val query : 'b -> 'a Queries.t -> 'a
val event : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'a
val morphstate : 'a -> 'b -> 'b
val sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val context : 'a -> 'b -> 'b
val access : 'a -> 'b -> unit
type trans_in = D.t
type trans_out = D.t
type transfer = trans_in -> trans_out
val name : unit -> string
val should_join : D.t -> D.t -> bool
val startstate : 'a -> D.t
val threadenter : 'a -> 'b -> 'c -> 'd -> D.t list
val threadspawn : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'f -> 'g -> 'h -> 'a
val exitstate : 'a -> D.t
val conv_offset : [< `Field of 'b * 'a | `Index of Prelude.Ana.exp * 'a | `NoOffset ] as 'a -> [> `Field of 'b * 'c | `Index of IntDomain.IntDomTuple.t * 'c | `NoOffset ] as 'c
val access_address : Queries.ask -> 'a -> Prelude.Ana.lval -> (CilType.Varinfo.t * [> `Field of CilType.Fieldinfo.t * 'b | `Index of IntDomain.IntDomTuple.t * 'b | `NoOffset ] as 'b * 'a) list
val access_one_byval : Queries.ask -> bool -> Prelude.Ana.exp -> (CilType.Varinfo.t * [> `Field of CilType.Fieldinfo.t * 'a | `Index of IntDomain.IntDomTuple.t * 'a | `NoOffset ] as 'a * bool) list
val access_lv_byval : Queries.ask -> Prelude.Ana.lval -> (CilType.Varinfo.t * [> `Field of CilType.Fieldinfo.t * 'a | `Index of IntDomain.IntDomTuple.t * 'a | `NoOffset ] as 'a * bool) list
val varoffs : Queries.ask -> Prelude.Ana.exp -> (CilType.Varinfo.t * [> `Field of CilType.Fieldinfo.t * 'a | `Index of IntDomain.IntDomTuple.t * 'a | `NoOffset ] as 'a) list
val vars : Queries.ask -> Prelude.Ana.exp -> Addr.t list
val is_expr_initd : Queries.ask -> Prelude.Ana.exp -> D.t -> bool
val remove_if_prefix : (Prelude.Ana.varinfo * (Addr.field, Addr.idx) Lval.offs) -> D.t -> D.t
type lval_offs = (Addr.field, Addr.idx) Lval.offs
type var_offs = Prelude.Ana.varinfo * lval_offs
val init_lval : Queries.ask -> Prelude.Ana.lval -> D.t -> D.t
val to_addrs : Prelude.Ana.varinfo -> Addr.t list
val remove_unreachable : Queries.ask -> Prelude.Ana.exp list -> D.t -> D.t
val assign : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval -> Prelude.Ana.exp -> trans_out
val branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.exp -> bool -> trans_out
val body : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.fundec -> trans_out
val return : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.exp option -> Prelude.Ana.fundec -> trans_out
val enter : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval option -> Prelude.Ana.fundec -> Prelude.Ana.exp list -> (D.t * D.t) list
val combine : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval option -> 'd -> Prelude.Ana.fundec -> Prelude.Ana.exp list -> 'e -> D.t -> trans_out
val special : (D.t, 'a, 'b, 'c) Analyses.ctx -> Prelude.Ana.lval option -> Prelude.Ana.varinfo -> Prelude.Ana.exp list -> D.t
OCaml

Innovation. Community. Security.