package goblint
Static analysis framework for C
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-2.0.1.tbz
sha256=dba2b664c7c125687e708e871d83fbfb6ba6d9ee98d235b4850d9a238caa84de
sha512=529987cde39691ad9e955000a3603e89c1c8cf14ed5e8b4cd3a7fc26e47d016aff571b472e2329725133c46f8d0cb45a05b88994eeffaa221a4d31b4c543adcd
doc/goblint.lib/Goblint_lib/Queries/index.html
Module Goblint_lib.Queries
Structures for the querying subsystem.
module GU = Goblintutil
module ID : sig ... end
module LS : sig ... end
module TS : sig ... end
module ES : sig ... end
module VI : sig ... end
type iterprevvar =
int ->
(MyCFG.node * Stdlib.Obj.t * int) ->
MyARG.inline_edge ->
unit
module SD = Basetype.Strings
module MayBool = BoolDomain.MayBool
module MustBool = BoolDomain.MustBool
module Unit = Lattice.Unit
val compare_maybepublic :
maybepublic ->
maybepublic ->
Ppx_deriving_runtime.int
val hash_maybepublic : maybepublic -> int
type maybepublicwithout = {
global : CilType.Varinfo.t;
write : bool;
without_mutex : PreValueDomain.Addr.t;
}
val compare_maybepublicwithout :
maybepublicwithout ->
maybepublicwithout ->
Ppx_deriving_runtime.int
val hash_maybepublicwithout : maybepublicwithout -> int
val compare_mustbeprotectedby :
mustbeprotectedby ->
mustbeprotectedby ->
Ppx_deriving_runtime.int
val hash_mustbeprotectedby : mustbeprotectedby -> int
val compare_memory_access :
memory_access ->
memory_access ->
Ppx_deriving_runtime.int
val hash_memory_access : memory_access -> int
type access =
| Memory of memory_access
(*Memory location access (race).
*)| Point
(*Program point and state access (MHP), independent of memory location.
*)
val compare_access : access -> access -> Ppx_deriving_runtime.int
val hash_access : access -> int
val compare_invariant_context :
invariant_context ->
invariant_context ->
Ppx_deriving_runtime.int
val hash_invariant_context : invariant_context -> int
type _ t =
| EqualSet : GoblintCil.exp -> ES.t t
| MayPointTo : GoblintCil.exp -> LS.t t
| ReachableFrom : GoblintCil.exp -> LS.t t
| ReachableUkTypes : GoblintCil.exp -> TS.t t
| Regions : GoblintCil.exp -> LS.t t
| MayEscape : GoblintCil.varinfo -> MayBool.t t
| MayBePublic : maybepublic -> MayBool.t t
| MayBePublicWithout : maybepublicwithout -> MayBool.t t
| MustBeProtectedBy : mustbeprotectedby -> MustBool.t t
| MustLockset : LS.t t
| MustBeAtomic : MustBool.t t
| MustBeSingleThreaded : MustBool.t t
| MustBeUniqueThread : MustBool.t t
| CurrentThreadId : ThreadIdDomain.ThreadLifted.t t
| MayBeThreadReturn : MayBool.t t
| EvalFunvar : GoblintCil.exp -> LS.t t
| EvalInt : GoblintCil.exp -> ID.t t
| EvalStr : GoblintCil.exp -> SD.t t
| EvalLength : GoblintCil.exp -> ID.t t
| BlobSize : GoblintCil.exp -> ID.t t
| CondVars : GoblintCil.exp -> ES.t t
| PartAccess : access -> Stdlib.Obj.t t
(*Only queried by access and deadlock analysis.
*)Obj.t
representsMCPAccess.A.t
, needed to break dependency cycle.| IterPrevVars : iterprevvar -> Unit.t t
| IterVars : itervar -> Unit.t t
| HeapVar : VI.t t
| IsHeapVar : GoblintCil.varinfo -> MayBool.t t
| IsMultiple : GoblintCil.varinfo -> MustBool.t t
| EvalThread : GoblintCil.exp -> ConcDomain.ThreadSet.t t
| CreatedThreads : ConcDomain.ThreadSet.t t
| MustJoinedThreads : ConcDomain.MustThreadSet.t t
| Invariant : invariant_context -> Invariant.t t
| WarnGlobal : Stdlib.Obj.t -> Unit.t t
(*Argument must be of corresponding
*)Spec.V.t
.| IterSysVars : VarQuery.t * Stdlib.Obj.t VarQuery.f -> Unit.t t
(*
*)iter_vars
forConstraints.FromSpec
.Obj.t
representsSpec.V.t
.
GADT for queries with specific result type.
Container for explicitly polymorphic ctx.ask
function out of ctx
. To be used when passing entire ctx
around seems inappropriate. Use Analyses.ask_of_ctx
to convert ctx
to ask
.
module Result : sig ... end
module Any : sig ... end
val must_be_equal : ask -> GoblintCil.exp -> GoblintCil.exp -> bool
Backwards-compatibility for former MustBeEqual
query.
val may_be_equal : ask -> GoblintCil.exp -> GoblintCil.exp -> bool
Backwards-compatibility for former MayBeEqual
query.
val may_be_less : ask -> GoblintCil.exp -> GoblintCil.exp -> bool
Backwards-compatibility for former MayBeLess
query.
module Set : sig ... end
module Hashtbl : sig ... end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>