package mopsa
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/Cpython/Cmodule/Domain/index.html
Module Cmodule.Domain
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 : Framework.Core.All.printer -> t -> unit
val empty : AddrSet.t * OtherMap.t
val is_bottom : (AddrSet.t * OtherMap.t) -> bool
val find_opt_from_c :
C.Common.Points_to.points_to ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, MopsaLib.addr option) Mopsa_analyzer.MopsaLib.Cases.cases
val find_opt_from_py :
MopsaLib.addr ->
Mopsa_utils.Core.Location.range ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, C.Common.Points_to.points_to option) Mopsa_analyzer.MopsaLib.Cases.cases
val add_addr :
AddrSet.Set.elt ->
('a, AddrSet.t * 'b) Framework.Core.Manager.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa_analyzer.MopsaLib.Cases.cases
val add_c_py_equiv :
C.Common.Points_to.points_to ->
OtherMap.ValueSet.elt ->
('a, 'b * OtherMap.t) Framework.Core.Manager.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa_analyzer.MopsaLib.Cases.cases
val rename_addr :
MopsaLib.addr ->
AddrSet.Set.elt ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, bool) Mopsa_analyzer.MopsaLib.Cases.cases
include sig ... end
val id : t Mopsa_analyzer__Framework__Core__Id.id
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val init :
'a ->
('b, AddrSet.t * OtherMap.t) Framework.Core.Manager.man ->
'b Core.Flow.flow ->
('b, unit) Core.Cases.cases option
val materialize_builtin_val_addr :
MopsaLib.addr ->
('a, 'b) MopsaLib.man ->
Mopsa_utils.Core.Location.range ->
'a Core.Flow.flow ->
('a, Framework.Core.Ast.Addr.addr) Mopsa_analyzer.MopsaLib.Cases.cases
val mk_avalue_from_pyaddr :
MopsaLib.addr ->
Framework.Core.Ast.Typ.typ ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr
val safe_get_name_of :
MopsaLib.expr ->
('a, 'b) MopsaLib.man ->
'a Core.Flow.flow ->
('a, string Mopsa_utils.Core.Top.with_top option)
Mopsa_analyzer.MopsaLib.Cases.cases
val bind_in_python :
MopsaLib.addr ->
string ->
MopsaLib.addr ->
Mopsa_utils.Core.Location.range ->
('a, 'b) MopsaLib.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa_analyzer.MopsaLib.Cases.cases
val mk_base_expr :
C.Common.Base.base ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr
val mk_base_offset_pointer :
C.Common.Base.base ->
MopsaLib.expr ->
MopsaLib.typ ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr
val alloc_py_addr :
('a, 'b) MopsaLib.man ->
Framework.Core.Ast.Addr.addr_kind ->
?mode:MopsaLib.mode ->
Mopsa_utils.Core.Location.range ->
'a Core.Flow.flow ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val new_method_from_def :
MopsaLib.addr ->
Python.Lang.Addr.py_c_function_kind ->
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, bool) Mopsa_analyzer.MopsaLib.Cases.cases
val fold_until_null :
(int -> 'a Core.Flow.flow -> ('a, bool) Mopsa_analyzer.MopsaLib.Cases.cases) ->
int ->
'a Core.Flow.flow ->
('a, unit) Mopsa_analyzer.MopsaLib.Cases.cases
val add_pymethoddef :
string ->
MopsaLib.addr ->
Python.Lang.Addr.py_c_function_kind ->
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, unit) Core.Cases.cases
val add_pymemberdef :
MopsaLib.addr ->
MopsaLib.expr ->
('a, 'b * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, unit) Core.Cases.cases
val new_module_from_def :
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val resolve_c_pointer_into_addr :
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, MopsaLib.addr Mopsa_utils.Core.Top.with_top option)
Mopsa_analyzer.MopsaLib.Cases.cases
val c_to_python_boundary :
?safe_check:Framework.Core.Alarm.check option ->
?on_null:
('a Core.Flow.flow ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases) ->
?on_top:
('a Core.Flow.flow ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases) ->
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
Mopsa_utils.Core.Location.range ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val bind_function_in :
string ->
MopsaLib.expr ->
MopsaLib.addr ->
Python.Lang.Addr.py_c_function_kind ->
('a, 'b * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, unit) Mopsa_analyzer.MopsaLib.Cases.cases
val search_c_globals_for :
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
string ->
MopsaLib.var
val check_consistent_null :
string ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
Mopsa_utils.Core.Location.range ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val is_py_addr : MopsaLib.addr -> bool
val points_to_to_c_expr :
C.Common.Points_to.points_to ->
MopsaLib.typ ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr
val py_addr_to_c_expr :
MopsaLib.addr ->
MopsaLib.typ ->
Mopsa_utils.Core.Location.range ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, MopsaLib.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val try_init :
'a Core.Flow.flow ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
Mopsa_utils.Core.Location.range ->
('a, unit) Mopsa_analyzer.MopsaLib.Cases.cases
val python_to_c_boundary :
MopsaLib.addr ->
MopsaLib.typ option ->
MopsaLib.expr option ->
?size:MopsaLib.expr option ->
Mopsa_utils.Core.Location.range ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a MopsaLib.flow ->
'a MopsaLib.eval
val new_class_from_def :
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, Framework.Core.Ast.Addr.addr) Mopsa_analyzer.MopsaLib.Cases.cases
val c_set_exception :
string ->
string ->
Mopsa_utils.Core.Location.range ->
('a, 'b) MopsaLib.man ->
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
'a Core.Post.post
val len_of :
('a, 'b) MopsaLib.man ->
MopsaLib.addr ->
'a Core.Flow.flow ->
Mopsa_utils.Core.Location.range ->
('a, int) Mopsa_analyzer.MopsaLib.Cases.cases
val pylong_to_c_type :
MopsaLib.expr ->
Mopsa_utils.Core.Location.range ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
(Z.t * Z.t * string) ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val c_int_to_python :
MopsaLib.expr ->
('a, 'b) MopsaLib.man ->
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
Mopsa_utils.Core.Location.range ->
('a, Framework.Core.Ast.Expr.expr) Mopsa_analyzer.MopsaLib.Cases.cases
val fold_c_to_python_boundary :
?safe_check:Framework.Core.Alarm.check option ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
Mopsa_utils.Core.Location.range ->
MopsaLib.expr list ->
'a Core.Flow.flow ->
('a, Framework.Core.Ast.Expr.expr list) Mopsa_analyzer.MopsaLib.Cases.cases
val build_value :
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
MopsaLib.range ->
string ->
MopsaLib.expr list ->
('a, MopsaLib.expr list) Mopsa_analyzer.MopsaLib.Cases.cases
val convert_single :
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
MopsaLib.expr ->
char ->
MopsaLib.expr ->
Mopsa_utils.Core.Location.range ->
'a Core.Flow.flow ->
('a, int) Mopsa_analyzer.MopsaLib.Cases.cases
val eval :
MopsaLib.expr ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
'a Mopsa_analyzer.MopsaLib.Eval.eval option
val exec :
MopsaLib.stmt ->
('a, AddrSet.t * OtherMap.t) MopsaLib.man ->
'a Core.Flow.flow ->
('a, unit) Core.Cases.cases option
val print_state : MopsaLib.printer -> EquivBaseAddrs.t -> unit
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>