Function smartnoise_validator::validate_analysis[][src]

pub fn validate_analysis(
    privacy_definition: Option<PrivacyDefinition>,
    computation_graph: HashMap<u32, Component>,
    release: Release
) -> Result<()>

Validate if an analysis is well-formed.

Checks that the graph is a DAG. Checks that static properties are met on all components.

Useful for static validation of an analysis. Since some components require public arguments, mechanisms that depend on other mechanisms cannot be verified until the components they depend on have been validated.

The system may also be run dynamically- prior to expanding each node, calling the expand_component endpoint will also validate the component being expanded. NOTE: Evaluating the graph dynamically opens up additional potential timing attacks.