pub struct PathSensitiveTaintAnalysis { /* private fields */ }Expand description
Path-sensitive taint analysis
Implementations§
Source§impl PathSensitiveTaintAnalysis
impl PathSensitiveTaintAnalysis
Sourcepub fn new(cfg: ControlFlowGraph) -> Self
pub fn new(cfg: ControlFlowGraph) -> Self
Create a new path-sensitive analysis for the given CFG
Sourcepub fn analyze(
&mut self,
function: &MirFunction,
callee_summaries: Option<&HashMap<String, DataflowSummary>>,
) -> PathSensitiveResult
pub fn analyze( &mut self, function: &MirFunction, callee_summaries: Option<&HashMap<String, DataflowSummary>>, ) -> PathSensitiveResult
Analyze all paths through the function
Sourcepub fn analyze_closure(
&mut self,
function: &MirFunction,
closure_info: &ClosureInfo,
callee_summaries: Option<&HashMap<String, DataflowSummary>>,
) -> PathSensitiveResult
pub fn analyze_closure( &mut self, function: &MirFunction, closure_info: &ClosureInfo, callee_summaries: Option<&HashMap<String, DataflowSummary>>, ) -> PathSensitiveResult
Analyze all paths through a closure function with captured variable taint
Sourcepub fn analyze_with_initial_taint(
&mut self,
function: &MirFunction,
initial_taint: HashMap<String, TaintState>,
callee_summaries: Option<&HashMap<String, DataflowSummary>>,
) -> PathSensitiveResult
pub fn analyze_with_initial_taint( &mut self, function: &MirFunction, initial_taint: HashMap<String, TaintState>, callee_summaries: Option<&HashMap<String, DataflowSummary>>, ) -> PathSensitiveResult
Analyze all paths with given initial taint state
Auto Trait Implementations§
impl Freeze for PathSensitiveTaintAnalysis
impl RefUnwindSafe for PathSensitiveTaintAnalysis
impl Send for PathSensitiveTaintAnalysis
impl Sync for PathSensitiveTaintAnalysis
impl Unpin for PathSensitiveTaintAnalysis
impl UnsafeUnpin for PathSensitiveTaintAnalysis
impl UnwindSafe for PathSensitiveTaintAnalysis
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more