package goblint
Static analysis framework for C
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-2.4.0.tbz
sha256=99b78e6def71534d195eef9084baa26d8334b36084e120aa6afb300c9bf8afa6
sha512=f3162bd95a03c00358a2991f6152fc6169205bfb4c55e2c483e98cc3935673df9656d025b6f1ea0fa5f1bd0aee037d4f483966b0d2907e3fa9bf11a93a3392af
doc/goblint.lib/Goblint_lib/MemOutOfBounds/Spec/index.html
Module MemOutOfBounds.Spec
include module type of struct include Analyses.IdentitySpec end
include module type of struct include Analyses.DefaultSpec end
module G = Lattice.Unit
module V = Analyses.EmptyV
module P = Analyses.UnitP
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 sync : ('a, 'b, 'c, 'd) Analyses.ctx -> 'e -> 'a
val paths_as_set : ('a, 'b, 'c, 'd) Analyses.ctx -> 'a list
module A = Analyses.UnitA
val body : ('a, 'b, 'c, 'd) Analyses.ctx -> GoblintCil.fundec -> 'a
val combine_env :
'a ->
GoblintCil.lval option ->
'b ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'c ->
'd ->
Queries.ask ->
'd
val threadenter :
('a, 'b, 'c, 'd) Analyses.ctx ->
multiple:'e ->
'f ->
'g ->
'h ->
'a list
val threadspawn :
('a, 'b, 'c, 'd) Analyses.ctx ->
multiple:'e ->
'f ->
'g ->
'h ->
'i ->
'a
module D = Lattice.Unit
val intdom_of_int : int -> ID.t
val size_of_type_in_bytes : GoblintCil.typ -> ID.t
val exp_contains_a_ptr : GoblintCil.exp -> bool
val lval_contains_a_ptr : GoblintCil.lval -> bool
val points_to_alloc_only :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.exp ->
bool
val get_size_of_ptr_target :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.exp ->
ValueDomainQueries.ID.t Queries.result
val get_ptr_deref_type : GoblintCil.typ -> GoblintCil.typ option
val eval_ptr_offset_in_binop :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.exp ->
GoblintCil.typ ->
[> `Bot | `Lifted of ID.t | `Top ]
val offs_to_idx :
GoblintCil.typ ->
[< `Field of GoblintCil.fieldinfo * 'a | `Index of ID.t * 'a | `NoOffset ] as 'a ->
ID.t
val cil_offs_to_idx :
('a, 'b, 'c, 'd) Analyses.ctx ->
'e ->
GoblintCil.offset ->
PreValueDomain.Offs.idx
val check_unknown_addr_deref :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.exp ->
unit
val ptr_only_has_str_addr :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.exp ->
bool
val get_addr_offs : ('a, 'b, 'c, 'd) Analyses.ctx -> GoblintCil.exp -> ID.t
val check_lval_for_oob_access :
('a, 'b, 'c, 'd) Analyses.ctx ->
?is_implicitly_derefed:bool ->
GoblintCil.lval ->
unit
val check_no_binop_deref :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.exp ->
unit
val check_exp_for_oob_access :
('a, 'b, 'c, 'd) Analyses.ctx ->
?is_implicitly_derefed:bool ->
GoblintCil.exp ->
unit
val check_binop_exp :
('a, 'b, 'c, 'd) Analyses.ctx ->
GoblintCil.binop ->
GoblintCil.exp ->
GoblintCil.exp ->
GoblintCil.typ ->
unit
val check_count :
('a, 'b, 'c, 'd) Analyses.ctx ->
string ->
GoblintCil.exp ->
GoblintCil.exp ->
unit
val assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval ->
GoblintCil.exp ->
D.t
val branch : (D.t, 'a, 'b, 'c) Analyses.ctx -> GoblintCil.exp -> bool -> D.t
val return :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.exp option ->
GoblintCil.fundec ->
D.t
val special :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.varinfo ->
GoblintCil.exp list ->
D.t
val enter :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
GoblintCil.fundec ->
GoblintCil.exp list ->
(D.t * D.t) list
val combine_assign :
(D.t, 'a, 'b, 'c) Analyses.ctx ->
GoblintCil.lval option ->
'd ->
GoblintCil.fundec ->
GoblintCil.exp list ->
'e ->
D.t ->
Queries.ask ->
D.t
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>