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/Packing/Static_scope/Strategy/index.html

Module Static_scope.Strategy

User-defined packs

**********************

type user_pack = user_pack_elm list
and user_pack_elm =
  1. | Var of string
  2. | Function of string
  3. | FunctionVar of string * string
  4. | Resource of string
val pp_user_pack_elm : MopsaLib.printer -> user_pack_elm -> unit
val pp_user_pack : MopsaLib.printer -> user_pack_elm list -> unit
val compare_user_pack_elem : user_pack_elm -> user_pack_elm -> int
val compare_user_pack : user_pack_elm list -> user_pack_elm list -> int
val opt_user_packs : user_pack list ref

Command-line option to define custom packs

val parse_user_pack : string -> unit

Parse a command-line pack definition as a list with elements of the form:

  • var
  • %function
  • %function.var
  • @resource
val symargs_pack_string : string
val add_symargs_pack : unit -> unit
val opt_pack_only_stubs : bool ref
val opt_pack_resources : bool ref

Packs

*********

type pack =
  1. | Globals
    (*

    Pack of global variables

    *)
  2. | Locals of string
    (*

    Pack of local variables of a function

    *)
  3. | User of user_pack
    (*

    User-defined packs

    *)

Packing key

Generate a unique ID for the strategy

include sig ... end
val id : pack Mopsa_analyzer__Framework__Core__Id.id
val name : string
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val compare : pack -> pack -> int

Total order of packing keys

val print : MopsaLib.printer -> pack -> unit

Pretty printer of packing keys

val init : 'a -> unit

Initialization

val packs_of_function : ?user_only:bool -> string -> pack list

Get the packs of a function

val user_packs_of_cvar : Lang.Ast.cvar -> pack list

Get the user-defined packs of a C variable

val user_packs_of_resource : string -> pack list

Get the user-defined packs of a resource

val is_outside_stub_init : MopsaLib.callstack -> bool

Get the packs of a base

val packs_of_base : ?user_only:bool -> 'a MopsaLib.ctx -> Common.Base.base -> pack list

Get the packs of a base

val packs_of_var : 'a MopsaLib.ctx -> MopsaLib.var -> pack list

Packing function returning packs of a variable

OCaml

Innovation. Community. Security.