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/Universal/Hooks/Progress/Hook/index.html

Module Progress.Hook

Hook header

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

val name : string

Entries of the progress table

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

module RangeSet : sig ... end

Set of location ranges

type entry = {
  1. name : string;
    (*

    Name of the function

    *)
  2. mutable range : MopsaLib.range option;
    (*

    Location of the currently analyzed statement

    *)
  3. all_stmt_range_set : RangeSet.t;
    (*

    Location of all statements in the function body

    *)
  4. mutable analyzed_stmt_range_set : RangeSet.t;
    (*

    Locations of analyzed statements

    *)
  5. nb_all_stmt : int;
    (*

    Total number of statements

    *)
  6. mutable nb_analyzed_stmt : int;
    (*

    Number of analyzed statements

    *)
}

Entry of the progression table

val pp_entry : Format.formatter -> entry -> unit

Print an entry of the progress table

Utilities for moving the terminam cursor

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

val clear_line : unit -> unit

Clear the current line and move the cursor at its beginning

val up_line : unit -> unit

Move the cursor one line above

Progression table

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

val table : entry Stack.t

Progression table as a stack of entries

val get_function_statements : Universal.Lang.Ast.fundec -> RangeSet.t

Return the set of statements in the body of a function

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

Insert a new entry in the progress table

val after_call : unit -> unit

Remove the head function from the progress table

val before_stmt : RangeSet.elt -> unit

Update the progress table before a statement is analyzed

val after_stmt : RangeSet.elt -> unit

Update the progress table after a statement is analyzed

Initialization

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

val init : 'a -> unit

Events handlers

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

val on_before_exec : 'a -> MopsaLib.stmt -> 'b -> 'c -> unit
val on_after_exec : 'a -> MopsaLib.stmt -> 'b -> 'c -> 'd -> unit
val on_before_eval : 'a -> 'b -> MopsaLib.expr -> 'c -> 'd -> unit
val on_after_eval : 'a -> 'b -> MopsaLib.expr -> 'c -> 'd -> 'e -> unit
val on_finish : 'a -> 'b -> unit
OCaml

Innovation. Community. Security.