package mopsa

  1. Overview
  2. Docs
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 =
  1. | Var of MopsaLib.var
    (*

    Stack variable

    *)
  2. | Addr of MopsaLib.addr
    (*

    Heap address

    *)
  3. | String of string * Lang.Ast.c_character_kind * MopsaLib.typ
    (*

    String literal, with character kind and type of character

    *)

Kinds of bases

type base = {
  1. base_kind : base_kind;
  2. base_valid : bool;
  3. base_invalidation_range : MopsaLib.range option;
}

Bases

val pp_base_kind : Format.formatter -> base_kind -> unit
val pp_base : Format.formatter -> base -> unit
val compare_base_kind : base_kind -> base_kind -> int
val compare_base : base -> base -> int
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
type addr_opacity =
  1. | NotOpaque
  2. | OpaqueFrom of int
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

Evaluate the size of a base in bytes

module Base : sig ... end
module BaseSet : sig ... end
module BaseMap : sig ... end
OCaml

Innovation. Community. Security.