pub fn propagate_taint_backward_with_progress<F>(
graph: &SqliteGraph,
sink: i64,
sources: &[i64],
progress: &F,
) -> Result<TaintResult, SqliteGraphError>where
F: ProgressCallback,Expand description
Propagates taint backward with progress tracking.
Same algorithm as propagate_taint_backward but reports progress
during execution.
§Arguments
graph- The graph to analyzesink- The sink node ID to trace back fromsources- Source node IDs to check for influenceprogress- Progress callback for reporting execution status
§Returns
TaintResult with affecting sources and ancestors.
§Progress Reporting
The callback receives:
current: Always 1 (single operation)total: Always 1message: “Backward taint propagation: from sink {sink}, {affecting} sources found”
§Example
ⓘ
use sqlitegraph::{
algo::propagate_taint_backward_with_progress,
progress::ConsoleProgress
};
let progress = ConsoleProgress::new();
let result = propagate_taint_backward_with_progress(&graph, sink, &sources, &progress)?;
// Output: Backward taint propagation: from sink 10, 2 sources found