pub struct Scan<TsG, O> { /* private fields */ }Expand description
The main type to interface with the verification capabilities of SCAN.
Scan holds the model, properties and other data necessary to run the verification process.
The type of models and properties is abstracted through the TransitionSystem and Oracle traits,
to provide a unified interface.
Implementations§
Source§impl<TsG, O> Scan<TsG, O>
impl<TsG, O> Scan<TsG, O>
Sourcepub fn successes(&self) -> u32
pub fn successes(&self) -> u32
Returns the number of successful executions in the current verification run.
Sourcepub fn failures(&self) -> u32
pub fn failures(&self) -> u32
Returns the number of failed executions in the current verification run.
Sourcepub fn violations(&self) -> Vec<u32>
pub fn violations(&self) -> Vec<u32>
Returns a vector where each entry contains the number of violations of the associated property in the current verification run.
Source§impl<TsG: TransitionSystemGenerator, O: Oracle> Scan<TsG, O>
impl<TsG: TransitionSystemGenerator, O: Oracle> Scan<TsG, O>
Source§impl<TsG, O> Scan<TsG, O>
impl<TsG, O> Scan<TsG, O>
Sourcepub fn par_adaptive(&self, confidence: f64, precision: f64, duration: Time)
pub fn par_adaptive(&self, confidence: f64, precision: f64, duration: Time)
Statistically verifies the provided TransitionSystem using adaptive bound and the given parameters,
spawning multiple threads.
Sourcepub fn par_traces<'a, T>(&'a self, runs: usize, tracer: T, duration: Time)where
T: Clone + Sync + Tracer<<<TsG as TransitionSystemGenerator>::Ts<'a> as TransitionSystem>::Event>,
pub fn par_traces<'a, T>(&'a self, runs: usize, tracer: T, duration: Time)where
T: Clone + Sync + Tracer<<<TsG as TransitionSystemGenerator>::Ts<'a> as TransitionSystem>::Event>,
Produces and saves the traces for the given number of runs,
using the provided Tracer,
spawning multiple threads.
Trait Implementations§
Auto Trait Implementations§
impl<TsG, O> Freeze for Scan<TsG, O>
impl<TsG, O> RefUnwindSafe for Scan<TsG, O>where
TsG: RefUnwindSafe,
O: RefUnwindSafe,
impl<TsG, O> Send for Scan<TsG, O>
impl<TsG, O> Sync for Scan<TsG, O>
impl<TsG, O> Unpin for Scan<TsG, O>
impl<TsG, O> UnsafeUnpin for Scan<TsG, O>where
TsG: UnsafeUnpin,
O: UnsafeUnpin,
impl<TsG, O> UnwindSafe for Scan<TsG, O>where
TsG: UnwindSafe,
O: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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