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/Universal/Iterators/Interproc/Common/index.html
Module Interproc.Common
Common transfer functions for handling function calls
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val opt_recursion_limit : int ref
Option to limit recursion depth
val opt_rename_local_variables_on_recursive_call : bool ref
Trace markers
Return flow token
=====================
type MopsaLib.token +=
| T_return of MopsaLib.range
(*
*)T_return(l)
represents flows reaching a return statement at locationl
Return variable
===================
Return variable of a function call
val mk_return :
Mopsa_utils.Core.Callstack.callstack ->
MopsaLib.expr ->
MopsaLib.var
Constructor of return variables
Contexts to keep return variable
===================================
module ReturnKey : sig ... end
val return_key :
('a, MopsaLib.var) Mopsa_analyzer__Framework__Core__Context.ctx_key
val get_last_call_site :
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
Mopsa_utils.Core.Location.range
Ignore recursion assumption
===============================
Recursion checks
====================
val check_recursion :
string ->
string ->
Mopsa_utils.Core.Location.range ->
MopsaLib.callsite list ->
bool
Check that no recursion is happening
val check_nested_calls : string -> MopsaLib.callsite list -> bool
Function inlining
=====================
val init_fun_params :
Universal.Lang.Ast.fundec ->
Framework.Core.Ast.Expr.expr list ->
Mopsa_utils.Core.Location.range ->
('a, 'b) MopsaLib.man ->
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
MopsaLib.var list
* MopsaLib.var list
* MopsaLib.stmt
* 'a Mopsa_analyzer.MopsaLib.Post.post
Initialize function parameters
val exec_fun_body :
'a ->
Framework.Core.Ast.Stmt.stmt ->
MopsaLib.var option ->
'b ->
('c, 'd) MopsaLib.man ->
'c Mopsa_analyzer.MopsaLib.Flow.flow ->
('c, unit) Core.Cases.cases
Execute function body and save the return value
val inline :
Universal.Lang.Ast.fundec ->
Framework.Core.Ast.Var.var list ->
Framework.Core.Ast.Var.var list ->
Framework.Core.Ast.Stmt.stmt ->
MopsaLib.var option ->
Mopsa_utils.Core.Location.range ->
('a, 'b) MopsaLib.man ->
'a Mopsa_analyzer.MopsaLib.Flow.flow ->
('a, Framework.Core.Ast.Expr.expr) Core.Cases.cases
Inline a function call
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page