interface FlowrConfigOptions {
    abstractInterpretation: {
        dataFrame: {
            maxColNames: number;
            readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
            wideningThreshold: number;
        };
    };
    defaultEngine?: "r-shell"
    | "tree-sitter";
    engines: EngineConfig[];
    ignoreSourceCalls: boolean;
    semantics: {
        environment: {
            overwriteBuiltIns: {
                definitions: BuiltInDefinitions;
                loadDefaults?: boolean;
            };
        };
    };
    solver: {
        evalStrings: boolean;
        pointerTracking: boolean
        | { maxIndexCount: number };
        resolveSource?: FlowrLaxSourcingOptions;
        slicer?: { threshold?: number };
        variables: VariableResolve;
    };
    [key: string]: unknown;
}

Hierarchy (View Summary)

Indexable

  • [key: string]: unknown

Hierarchy-Diagram

UML class diagram of FlowrConfigOptions

Properties

abstractInterpretation: {
    dataFrame: {
        maxColNames: number;
        readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
        wideningThreshold: number;
    };
}

Configuration options for abstract interpretation

Type declaration

  • ReadonlydataFrame: {
        maxColNames: number;
        readLoadedData: { maxReadLines: number; readExternalFiles: boolean };
        wideningThreshold: number;
    }

    The configuration of the shape inference for data frames

    • ReadonlymaxColNames: number

      The maximum number of columns names to infer for data frames before over-approximating the column names to top

    • ReadonlyreadLoadedData: { maxReadLines: number; readExternalFiles: boolean }

      Configuration options for reading data frame shapes from loaded external data files, such as CSV files

      • ReadonlymaxReadLines: number

        The maximum number of lines to read when extracting data frame shapes from loaded files, such as CSV files

      • ReadonlyreadExternalFiles: boolean

        Whether data frame shapes should be extracted from loaded external data files, such as CSV files

    • ReadonlywideningThreshold: number

      The threshold for the number of visitations of a node at which widening should be performed to ensure the termination of the fixpoint iteration

defaultEngine?: "r-shell" | "tree-sitter"

The default engine to use for interacting with R code. If this is undefined, an arbitrary engine from engines will be used.

engines: EngineConfig[]

The engines to use for interacting with R code. Currently, supports TreeSitterEngineConfig and RShellEngineConfig. An empty array means all available engines will be used.

ignoreSourceCalls: boolean

Whether source calls should be ignored, causing processSourceCall's behavior to be skipped

semantics: {
    environment: {
        overwriteBuiltIns: {
            definitions: BuiltInDefinitions;
            loadDefaults?: boolean;
        };
    };
}

Configure language semantics and how flowR handles them

Type declaration

  • Readonlyenvironment: {
        overwriteBuiltIns: {
            definitions: BuiltInDefinitions;
            loadDefaults?: boolean;
        };
    }

    Semantics regarding the handling of the environment

    • ReadonlyoverwriteBuiltIns: { definitions: BuiltInDefinitions; loadDefaults?: boolean }

      Do you want to overwrite (parts) of the builtin definition?

      • Readonlydefinitions: BuiltInDefinitions

        The definitions to load

      • Optional ReadonlyloadDefaults?: boolean

        Should the default configuration still be loaded?

solver: {
    evalStrings: boolean;
    pointerTracking: boolean | { maxIndexCount: number };
    resolveSource?: FlowrLaxSourcingOptions;
    slicer?: { threshold?: number };
    variables: VariableResolve;
}

How to resolve constants, constraints, cells, …

Type declaration

  • ReadonlyevalStrings: boolean

    Should we include eval(parse(text="...")) calls in the dataflow graph?

  • ReadonlypointerTracking: boolean | { maxIndexCount: number }

    Whether to track pointers in the dataflow graph, if not, the graph will be over-approximated wrt. containers and accesses

  • Optional ReadonlyresolveSource?: FlowrLaxSourcingOptions

    If lax source calls are active, flowR searches for sourced files much more freely, based on the configurations you give it. This option is only in effect if ignoreSourceCalls is set to false.

  • Optionalslicer?: { threshold?: number }

    The configuration for flowR's slicer

    • Optional Readonlythreshold?: number

      The maximum number of iterations to perform on a single function call during slicing

  • Readonlyvariables: VariableResolve

    How to resolve variables and their values