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/Cfg/Frontend/index.html

Module Cfg.Frontend

Converts a Universal program AST into a CFG.

val name : string
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val dump_dot : bool

dump CFG in dot file (for debugging)

Graph conversion

val extract_calls_expr : MopsaLib.expr -> (MopsaLib.var * MopsaLib.range) list * MopsaLib.stmt list * MopsaLib.expr
val extract_calls_stmt : MopsaLib.stmt -> (MopsaLib.var * MopsaLib.range) list * MopsaLib.stmt list * MopsaLib.stmt
val mk_add_tmps : (MopsaLib.var * MopsaLib.range) list -> MopsaLib.stmt list
val mk_remove_tmps : (MopsaLib.var * MopsaLib.range) list -> MopsaLib.stmt list
type ctx = {
  1. ctx_cfg : Ast.graph;
  2. ctx_return : Ast.node;
  3. ctx_break : Ast.node list;
  4. ctx_continue : Ast.node list;
  5. ctx_return_var : MopsaLib.var option;
}
val add_node : ctx -> Ast.node_id -> Ast.node
val add_edge : ctx -> Mopsa_utils.Core.Location.range -> (Ast.port * Ast.node) list -> (Ast.port * Ast.node) list -> MopsaLib.stmt list -> unit
val add_block_after : ctx -> Mopsa_utils.Core.Location.range -> Ast.node -> MopsaLib.stmt list -> Ast.node
val add_block_before : ctx -> Mopsa_utils.Core.Location.range -> Ast.node -> MopsaLib.stmt list -> Ast.node
val add_stmt : ctx -> Ast.node -> Ast.node -> MopsaLib.stmt -> unit
val convert_stmt : ?name:string -> ?ret:MopsaLib.var -> MopsaLib.stmt -> MopsaLib.stmt

Creates a new graph and fill-in with the given statement.

val convert_fundec : Universal.Lang.Ast.fundec -> unit

Converts a function AST to a CFG.

val convert_program : MopsaLib.program -> MopsaLib.program

Converts a full universal program.

val parse_program : string list -> MopsaLib.program

From source to CFG.

OCaml

Innovation. Community. Security.

On This Page
  1. Graph conversion