Goblint_lib.WrapperFunctionAnalysis
Family of analyses which provide symbolic locations for special library functions. Provides symbolic heap locations for dynamic memory allocations and symbolic thread identifiers for thread creation (mallocWrapper
, threadCreateWrapper
).
Provided heap locations are based on the node and thread ID. Provided thread identifiers are based solely the node. Considers wrapper functions and a number of unique heap locations or thread identifiers for additional precision.
module Q = Queries
include module type of struct include WrapperFunctionAnalysis0 end
module type UniqueCountArgs = WrapperFunctionAnalysis0.UniqueCountArgs
module MakeUniqueCount = WrapperFunctionAnalysis0.MakeUniqueCount
val unique_count_args_from_config : string -> (module UniqueCountArgs)
module MallocUniqueCount = WrapperFunctionAnalysis0.MallocUniqueCount
module ThreadCreateUniqueCount =
WrapperFunctionAnalysis0.ThreadCreateUniqueCount
module NodeFlatLattice = WrapperFunctionAnalysis0.NodeFlatLattice
module type WrapperArgs = sig ... end
module SpecBase
(UniqueCount : Lattice.S with type t = int)
(WrapperArgs : WrapperArgs) :
sig ... end
module MallocWrapper : Analyses.MCPSpec
module ThreadCreateWrapper : Analyses.MCPSpec