Sink

data class Sink(val id: String, val isConfigured: Boolean, val calleeSymbol: String, val calleeDemangled: String, val reportedSinkValues: List<String> = emptyList(), val facts: List<Fact>, val dataFlowDAG: SinkDataFlowDAG, val evidenceComponentIndices: List<Int> = emptyList(), val feasibleFacts: List<FeasibleFact>, val leaked: Boolean)

One entry per declared sink the analyzer evaluated. For a reached configured sink, the id field is the same as the matching ICFG node's id. For an unreached configured sink with no analyzer call-site node, the entry is a negative verdict and may not have a corresponding ICFG node. calleeSymbol and calleeDemangled are duplicated here for callers that want sink metadata without joining back to the ICFG.

leaked = false entries are emitted too — they're the negative truth claims a matrix test relies on (asil-B sinks that must NOT carry QM taint).

Constructors

Link copied to clipboard
constructor(id: String, isConfigured: Boolean, calleeSymbol: String, calleeDemangled: String, reportedSinkValues: List<String> = emptyList(), facts: List<Fact>, dataFlowDAG: SinkDataFlowDAG, evidenceComponentIndices: List<Int> = emptyList(), feasibleFacts: List<FeasibleFact>, leaked: Boolean)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val id: String
Link copied to clipboard

true for sinks whose callee was in the cfg's sinks list. false for taint that reached an instruction the user did NOT declare as a sink (a return, a store, an unrelated call, …) — calleeSymbol/calleeDemangled are empty, and dataFlowDAG/feasibleFacts may be empty too (the C++ side doesn't compute per-call-site DAGs for unconfigured leaks today).

Link copied to clipboard
Link copied to clipboard
Generated with STIG