Skip to main content

Oracle

Trait Oracle 

Source
pub trait Oracle: Send + Sync {
    // Required methods
    fn execute_source(&self, code: &str, input: &str) -> Result<ExecutionResult>;
    fn execute_target(&self, code: &str, input: &str) -> Result<ExecutionResult>;
    fn compare(
        &self,
        source: &ExecutionResult,
        target: &ExecutionResult,
    ) -> Verdict;

    // Provided method
    fn timeout_ms(&self) -> u64 { ... }
}
Expand description

Verification oracle trait

Standardized oracle interface enables cross-transpiler comparison.

Required Methods§

Source

fn execute_source(&self, code: &str, input: &str) -> Result<ExecutionResult>

Execute source code and return result

§Errors

Returns an error if execution fails

Source

fn execute_target(&self, code: &str, input: &str) -> Result<ExecutionResult>

Execute target code and return result

§Errors

Returns an error if execution fails

Source

fn compare(&self, source: &ExecutionResult, target: &ExecutionResult) -> Verdict

Compare source and target execution results

Provided Methods§

Source

fn timeout_ms(&self) -> u64

Get the timeout for execution in milliseconds

Implementors§