Backend.Payloads
include sig ... end
type t = {
annot_map : Checkers.AnnotationReachabilityDomain.t IStdlib.IStd.Lazy.t option;
biabduction : Biabduction.BiabductionSummary.t IStdlib.IStd.Lazy.t option;
buffer_overrun_analysis : BO.BufferOverrunAnalysisSummary.t IStdlib.IStd.Lazy.t
option;
buffer_overrun_checker : BO.BufferOverrunCheckerSummary.t IStdlib.IStd.Lazy.t
option;
config_impact_analysis : Costlib.ConfigImpactAnalysis.Summary.t
IStdlib.IStd.Lazy.t
option;
cost : Costlib.CostDomain.summary IStdlib.IStd.Lazy.t option;
disjunctive_demo : Checkers.DisjunctiveDemo.domain IStdlib.IStd.Lazy.t option;
lab_resource_leaks : Labs.ResourceLeakDomain.summary IStdlib.IStd.Lazy.t option;
litho_required_props : Checkers.LithoDomain.summary IStdlib.IStd.Lazy.t option;
pulse : Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option;
purity : Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option;
racerd : Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option;
scope_leakage : Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option;
siof : Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option;
lineage : Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option;
lineage_shape : Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option;
starvation : Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option;
}
Analysis summaries for inter-procedural analyses.
When retrieving already-computed summaries, each entry is lazily loaded from the analysis database to avoid loading and deserializing payloads unnecessarily, which can be overly expensive and memory-hungry.
This type has to be in sync with PayloadId.t
val starvation :
t ->
Concurrency.StarvationDomain.summary IStdlib.IStd.Lazy.t option
val lineage_shape :
t ->
Checkers.LineageShape.Summary.t IStdlib.IStd.Lazy.t option
val lineage : t -> Checkers.Lineage.Summary.t IStdlib.IStd.Lazy.t option
val siof : t -> Checkers.SiofDomain.Summary.t IStdlib.IStd.Lazy.t option
val scope_leakage :
t ->
Checkers.ScopeLeakage.Summary.t IStdlib.IStd.Lazy.t option
val racerd : t -> Concurrency.RacerDDomain.summary IStdlib.IStd.Lazy.t option
val purity : t -> Checkers.PurityDomain.summary IStdlib.IStd.Lazy.t option
val pulse : t -> Pulselib.PulseSummary.t IStdlib.IStd.Lazy.t option
val litho_required_props :
t ->
Checkers.LithoDomain.summary IStdlib.IStd.Lazy.t option
val lab_resource_leaks :
t ->
Labs.ResourceLeakDomain.summary IStdlib.IStd.Lazy.t option
val disjunctive_demo :
t ->
Checkers.DisjunctiveDemo.domain IStdlib.IStd.Lazy.t option
val cost : t -> Costlib.CostDomain.summary IStdlib.IStd.Lazy.t option
val config_impact_analysis :
t ->
Costlib.ConfigImpactAnalysis.Summary.t IStdlib.IStd.Lazy.t option
val buffer_overrun_checker :
t ->
BO.BufferOverrunCheckerSummary.t IStdlib.IStd.Lazy.t option
val buffer_overrun_analysis :
t ->
BO.BufferOverrunAnalysisSummary.t IStdlib.IStd.Lazy.t option
val biabduction :
t ->
Biabduction.BiabductionSummary.t IStdlib.IStd.Lazy.t option
val annot_map :
t ->
Checkers.AnnotationReachabilityDomain.t IStdlib.IStd.Lazy.t option
module Fields : sig ... end
val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
val pp :
IStdlib.Pp.env ->
IR.Procname.t ->
Stdlib.Format.formatter ->
t ->
unit
val empty : t
val has_payload : IBase.PayloadId.t -> t -> bool
val analysis_request_of_field :
(_, _) IStdlib.IStd.Field.t ->
IBase.AnalysisRequest.t
module SQLite : sig ... end