Module Make.TransferFunctions

Parameters

Signature

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 -> Absint__AccessPath.base -> 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 -> Absint__AccessPath.base 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:Absint__AccessPath.base -> 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