package mopsa
MOPSA: A Modular and Open Platform for Static Analysis using Abstract Interpretation
Install
dune-project
Dependency
Authors
Maintainers
Sources
mopsa-analyzer-v1.2.tar.gz
md5=37966e98ffeebcedc09bd6e9b2b81f69
sha512=40d4d826c25f680766c07eccbabdf5e8a4fa023016e8a164e4e4f6b3781c8484dc4df437055721dfd19b9db8fb7fe3b61236c4833186d346fc7204a68d01eaaa
doc/mopsa.mopsa_analyzer/Mopsa_analyzer/Languages/C/Common/Base/index.html
Module Common.Base
Base storage of scalar values.
type base_kind =
| Var of MopsaLib.var
(*Stack variable
*)| Addr of MopsaLib.addr
(*Heap address
*)| String of string * Lang.Ast.c_character_kind * MopsaLib.typ
(*String literal, with character kind and type of character
*)
Kinds of bases
type base = {
base_kind : base_kind;
base_valid : bool;
base_invalidation_range : MopsaLib.range option;
}
Bases
val pp_base_kind : Format.formatter -> base_kind -> unit
val pp_base : Format.formatter -> base -> unit
val mk_base :
?valid:bool ->
?invalidation_range:MopsaLib.range option ->
base_kind ->
base
val mk_var_base :
?valid:bool ->
?invalidation_range:MopsaLib.range option ->
MopsaLib.var ->
base
val mk_addr_base :
?valid:bool ->
?invalidation_range:MopsaLib.range option ->
MopsaLib.addr ->
base
val mk_string_base :
?kind:Lang.Ast.c_character_kind ->
?typ:MopsaLib.typ ->
string ->
base
val base_kind_uniq_name : base_kind -> string
val base_uniq_name : base -> string
val base_size : base -> 'a Mopsa_analyzer.MopsaLib.Flow.flow -> Z.t
val base_mode : base -> MopsaLib.mode
val addr_opaque_chain : (MopsaLib.addr_kind -> addr_opacity) ref
val addr_opaque : MopsaLib.addr_kind -> addr_opacity
val register_addr_opaque :
((MopsaLib.addr_kind -> addr_opacity) -> MopsaLib.addr_kind -> addr_opacity) ->
unit
val is_base_readonly : base -> bool
val is_var_base_expr : MopsaLib.expr -> bool
val is_addr_base_expr : MopsaLib.expr -> bool
val is_base_expr : MopsaLib.expr -> bool
val expr_to_base : MopsaLib.expr -> base
val base_to_expr : base -> Mopsa_utils.Core.Location.range -> MopsaLib.expr
val eval_base_size :
?route:MopsaLib.route ->
base ->
Mopsa_utils.Core.Location.range ->
('a, 't) MopsaLib.man ->
'a Core.Flow.flow ->
('a, MopsaLib.expr) Mopsa_analyzer.MopsaLib.Cases.cases
Evaluate the size of a base in bytes
module Base : sig ... end
module BaseSet : sig ... end
module BaseMap : sig ... end
val mk_lval :
base ->
MopsaLib.expr ->
MopsaLib.typ ->
Framework.Core.Ast.Var.mode option ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>