package mopsa
MOPSA: A Modular and Open Platform for Static Analysis using Abstract Interpretation
Install
Dune Dependency
Authors
Maintainers
Sources
mopsa-analyzer-v1.1.tar.gz
md5=fdee20e988343751de440b4f6b67c0f4
sha512=f5cbf1328785d3f5ce40155dada2d95e5de5cce4f084ea30cfb04d1ab10cc9403a26cfb3fa55d0f9da72244482130fdb89c286a9aed0d640bba46b7c00e09500
doc/cpython/Cpython/Cmodule/Domain/index.html
Module Cmodule.Domain
Source
include module type of struct include EquivBaseAddrs end
include sig ... end
type t = AddrSet.t * OtherMap.t
val bottom : t
val top : t
val map_snd : (OtherMap.t -> OtherMap.t) -> t -> t
val print : Core.All.printer -> t -> unit
Source
val find_opt_from_c :
C.Common.Points_to.points_to ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, Mopsa.addr option) Mopsa.Cases.cases
Source
val find_opt_from_py :
Mopsa.addr ->
Mopsa_utils.Location.range ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, C.Common.Points_to.points_to option) Mopsa.Cases.cases
Source
val add_addr :
AddrSet.Set.elt ->
('a, AddrSet.t * 'b) Core.Manager.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa.Cases.cases
Source
val add_c_py_equiv :
C.Common.Points_to.points_to ->
OtherMap.ValueSet.elt ->
('a, 'b * OtherMap.t) Core.Manager.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa.Cases.cases
Source
val rename_addr :
Mopsa.addr ->
AddrSet.Set.elt ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, bool) Mopsa.Cases.cases
include sig ... end
val id : t Core__Id.id
Source
val init :
'a ->
('b, AddrSet.t * OtherMap.t) Core.Manager.man ->
'b Core.Flow.flow ->
('b, unit) Core.Cases.cases option
Source
val materialize_builtin_val_addr :
Mopsa.addr ->
('a, 'b) Mopsa.man ->
Mopsa_utils.Location.range ->
'a Core.Flow.flow ->
('a, Ast.Addr.addr) Mopsa.Cases.cases
Source
val mk_avalue_from_pyaddr :
Mopsa.addr ->
Ast.Typ.typ ->
Mopsa_utils.Location.range ->
Mopsa.expr
Source
val safe_get_name_of :
Mopsa.expr ->
('a, 'b) Mopsa.man ->
'a Core.Flow.flow ->
('a, string Mopsa.Top.with_top option) Mopsa.Cases.cases
Source
val bind_in_python :
Mopsa.addr ->
string ->
Mopsa.addr ->
Mopsa_utils.Location.range ->
('a, 'b) Mopsa.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa.Cases.cases
Source
val mk_base_offset_pointer :
C.Common.Base.base ->
Mopsa.expr ->
Mopsa.typ ->
Mopsa_utils.Location.range ->
Mopsa.expr
Source
val alloc_py_addr :
('a, 'b) Mopsa.man ->
Ast.Addr.addr_kind ->
?mode:Mopsa.mode ->
Mopsa_utils.Location.range ->
'a Core.Flow.flow ->
('a, Ast.Expr.expr) Mopsa.Cases.cases
Source
val new_method_from_def :
Mopsa.addr ->
Python.Addr.py_c_function_kind ->
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, bool) Mopsa.Cases.cases
Source
val fold_until_null :
(int -> 'a Core.Flow.flow -> ('a, bool) Mopsa.Cases.cases) ->
int ->
'a Core.Flow.flow ->
('a, unit) Mopsa.Cases.cases
Source
val add_pymethoddef :
string ->
Mopsa.addr ->
Python.Addr.py_c_function_kind ->
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, unit) Core.Cases.cases
Source
val add_pymemberdef :
Mopsa.addr ->
Mopsa.expr ->
('a, 'b * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, unit) Core.Cases.cases
Source
val new_module_from_def :
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, Ast.Expr.expr) Mopsa.Cases.cases
Source
val resolve_c_pointer_into_addr :
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, Mopsa.addr Mopsa.Top.with_top option) Mopsa.Cases.cases
Source
val c_to_python_boundary :
?safe_check:Core.Alarm.check option ->
?on_null:('a Core.Flow.flow -> ('a, Ast.Expr.expr) Mopsa.Cases.cases) ->
?on_top:('a Core.Flow.flow -> ('a, Ast.Expr.expr) Mopsa.Cases.cases) ->
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
Mopsa_utils.Location.range ->
('a, Ast.Expr.expr) Mopsa.Cases.cases
Source
val bind_function_in :
string ->
Mopsa.expr ->
Mopsa.addr ->
Python.Addr.py_c_function_kind ->
('a, 'b * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa.Cases.cases
Source
val check_consistent_null :
string ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Mopsa.Flow.flow ->
Mopsa_utils.Location.range ->
('a, Ast.Expr.expr) Mopsa.Cases.cases
Source
val points_to_to_c_expr :
C.Common.Points_to.points_to ->
Mopsa.typ ->
Mopsa_utils.Location.range ->
Mopsa.expr
Source
val py_addr_to_c_expr :
Mopsa.addr ->
Mopsa.typ ->
Mopsa_utils.Location.range ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, Mopsa.expr) Mopsa.Cases.cases
Source
val try_init :
'a Core.Flow.flow ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
Mopsa_utils.Location.range ->
('a, unit) Mopsa.Cases.cases
Source
val python_to_c_boundary :
Mopsa.addr ->
Mopsa.typ option ->
Mopsa.expr option ->
?size:Mopsa.expr option ->
Mopsa_utils.Location.range ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Mopsa.flow ->
'a Mopsa.eval
Source
val new_class_from_def :
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, Ast.Addr.addr) Mopsa.Cases.cases
Source
val c_set_exception :
string ->
string ->
Mopsa_utils.Location.range ->
('a, 'b) Mopsa.man ->
'a Mopsa.Flow.flow ->
'a Core.Post.post
Source
val len_of :
('a, 'b) Mopsa.man ->
Mopsa.addr ->
'a Core.Flow.flow ->
Mopsa_utils.Location.range ->
('a, int) Mopsa.Cases.cases
Source
val pylong_to_c_type :
Mopsa.expr ->
Mopsa_utils.Location.range ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
(Z.t * Z.t * string) ->
('a, Ast.Expr.expr) Mopsa.Cases.cases
Source
val c_int_to_python :
Mopsa.expr ->
('a, 'b) Mopsa.man ->
'a Mopsa.Flow.flow ->
Mopsa_utils.Location.range ->
('a, Ast.Expr.expr) Mopsa.Cases.cases
Source
val fold_c_to_python_boundary :
?safe_check:Core.Alarm.check option ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
Mopsa_utils.Location.range ->
Mopsa.expr list ->
'a Core.Flow.flow ->
('a, Ast.Expr.expr list) Mopsa.Cases.cases
Source
val build_value :
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
Mopsa.range ->
string ->
Mopsa.expr list ->
('a, Mopsa.expr list) Mopsa.Cases.cases
Source
val convert_single :
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
Mopsa.expr ->
char ->
Mopsa.expr ->
Mopsa_utils.Location.range ->
'a Core.Flow.flow ->
('a, int) Mopsa.Cases.cases
Source
val eval :
Mopsa.expr ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
'a Mopsa.Eval.eval option
Source
val exec :
Mopsa.stmt ->
('a, AddrSet.t * OtherMap.t) Mopsa.man ->
'a Core.Flow.flow ->
('a, unit) Core.Cases.cases option
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>