InterfacePointsDsl

Per-element interface-function configuration block.

Selects how the element's interface functions (sources/sinks) are determined and, in InterfacePointMode.DSL_DECLARATION mode, provides the explicit symbol lists.

Also holds references to external files used for interface-point import and ASIL annotation, so that all interface-related configuration lives in one place.

analyzerInput {
interfacePoints {
interfacePointMode = InterfacePointMode.DSL_DECLARATION // or LLVM_HARNESS_DISCOVERY, SYML
defaultAsil = ASIL.B
entryPoint = "app::lifecycle::Activity::Step()"

// External files for interface-point import / annotation.
topicsFile = repos["sourceRepo"] / "activities/aeb/aeb_fusion_activity.json"
interfacePointsAnnotationFile = repos["model_repository"] /
"models/interface-definitions/releases/current/Foo.json"

source("ns::Class::ReadFoo()")
source("ns::Class::ReadBar()", asil = ASIL.QM, usage = SourceUsage.FLOW_OFF)

sink("ns::Class::WriteBaz(int)", paramIndex = 1)
}
}

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

Default ASIL for sources/sinks that don't declare an explicit override.

Link copied to clipboard

Convenience: single entry-point function name for analysis. Fully qualified including namespace. Setting this replaces entryPoints with a single-element list.

Link copied to clipboard

Entry-point function names used by interface-point symbol derivation and PhASAR run-plan generation. Each entry is a qualified function name. Empty falls back to the task's convention default.

Link copied to clipboard

true when at least one source or sink has been declared.

Link copied to clipboard

How interface functions are determined.

Link copied to clipboard

ASIL interface-points annotation file for this element, resolved from a repo directory. Contains ASIL ratings and is used for any kind of interfaces (topics or fields).

Link copied to clipboard

All declared sanitizer function names. Each entry is the LLVM symbol name of a function whose return value should be treated as sanitized (taint-killed) by PhASAR.

Link copied to clipboard

All declared sink functions.

Link copied to clipboard

All declared source functions.

Link copied to clipboard

Explicit list of .syml files. Only used when interfacePointMode = InterfacePointMode.SYML.

Link copied to clipboard

Folder containing .syml files. Only used when interfacePointMode = InterfacePointMode.SYML.

Link copied to clipboard

Topics JSON file for this element, resolved from a repo directory. Used for interface-point import and ASIL annotation.

Functions

Link copied to clipboard
fun sanitizer(symbol: String)

Declare a sanitizer function. PhASAR treats the function's return value as clean regardless of input taint — emitted into the cfg as {"name": "<symbol>", "ret": "sanitizer"}.

Link copied to clipboard
fun sink(token: String, paramIndex: Int, asil: ASIL? = null)

Declare a sink function (data output from this element).

Link copied to clipboard
fun source(token: String, paramIndex: Int? = null, asil: ASIL? = null, usage: SourceUsage = SourceUsage.USED)

Declare a source function (data input to this element).