Make.TransferFunctions
module CFG : Absint.ProcCfg.S
module CFG = CFG
module Domain = Domain
type nonrec analysis_data = analysis_data
val access_path_get_node :
Absint.AccessPath.Abs.t ->
TaintDomain.t ->
Absint.FormalMap.t ->
TaintDomain.node option
val access_path_get_trace :
Absint.AccessPath.Abs.t ->
TaintDomain.t ->
Absint.FormalMap.t ->
TaintDomain.TraceDomain.t
val exp_get_node_ :
abstracted:bool ->
Absint.AccessPath.Abs.raw ->
TaintDomain.t ->
Absint.FormalMap.t ->
TaintDomain.node option
val hil_exp_get_node :
?abstracted:bool ->
Absint.HilExp.t ->
TaintDomain.t ->
Absint.FormalMap.t ->
TaintDomain.node option
val add_return_source :
TraceDomain.Source.t ->
(IR.Var.t * IR.Typ.t) ->
TaintDomain.t ->
TaintDomain.t
val add_actual_source :
TraceDomain.Source.t ->
int ->
Absint.HilExp.t list ->
TaintDomain.t ->
Absint.FormalMap.t ->
TaintDomain.t
val is_endpoint : TraceDomain.Source.t -> bool
val report_trace :
QuandarySummary.AccessTree.t Absint.InterproceduralAnalysis.t ->
?sink_indexes:IStdlib.IntSet.t ->
TraceDomain.t ->
Absint.CallSite.t ->
unit
log any new reportable source-sink flows in trace
val add_sink :
analysis_data ->
TraceDomain.Sink.t ->
Absint.HilExp.t list ->
TaintDomain.t ->
Absint.CallSite.t ->
TaintDomain.t
val apply_summary :
analysis_data ->
(IR.Var.t * IR.Typ.t) option ->
Absint.HilExp.t list ->
TaintDomain.t ->
TaintDomain.t ->
Absint.CallSite.t ->
TaintDomain.t
val add_sinks_for_access_path :
analysis_data ->
Absint.HilExp.AccessExpression.t ->
IBase.Location.t ->
TaintDomain.t ->
TaintDomain.t
val add_sources_for_access_path :
analysis_data ->
Absint.HilExp.access_expression ->
IBase.Location.t ->
TaintDomain.t ->
TaintDomain.t
val add_sources_sinks_for_exp :
analysis_data ->
Absint.HilExp.t ->
IBase.Location.t ->
TaintDomain.t ->
TaintDomain.t
val exec_write :
Absint.FormalMap.t ->
Absint__HilExp.access_expression ->
Absint.HilExp.t ->
TaintDomain.t ->
TaintDomain.t
val analyze_call :
analysis_data ->
ret_ap:(IR.Var.t * IR.Typ.t) ->
callee_pname:IR.Procname.t ->
actuals:Absint.HilExp.t list ->
call_flags:IR.CallFlags.t ->
callee_loc:IBase.Location.t ->
TaintDomain.t ->
TaintDomain.t
val exec_instr :
Domain.t ->
analysis_data ->
'a ->
'b ->
Absint.HilInstr.t ->
Domain.t
val pp_session_name : CFG.Node.t -> F.formatter -> unit