AnalyzerInputDsl
DSL block for P5 — Analyzer input configuration.
Combines P4 analyzer code selection + stubs + harness into the final analysis bitcode. Verifies all symbols are defined (stubs cover gaps), derives interface points, and generates analyzer run plans.
stig {
element {
analyzerInput {
stubs {
enabled = true
iQuotePath(repos["stig-project"] / "stubs/include")
stubSource(repos["stig-project"] / "stubs/src/analysis_stubs.cpp")
}
harness {
enabled = true
}
interfacePoints {
mode = InterfacePointMode.DSL_DECLARATION
defaultAsil = ASIL.B
entryPoint = "stig::Harness::Execute()"
source("ns::ReadData()")
sink("ns::WriteData(int)", paramIndex = 0)
}
pathFeasibility = PathFeasibility.FEASIBLE_ONLY
symbolVerification {
mode = SymbolVerificationMode.CHECK_ALL_UNDEFINED_SYMBOLS
ignorePatterns = listOf("__cxa_*", "_Unwind_*", "__gxx_*")
}
}
}
}Settable at: defaults → group → element (cascading).
Properties
Legacy switch retained for configuration-source compatibility. Detailed all_sinks diagrams are no longer supported because they require expanding the complete compact evidence store. Keep this unset or false; P7 rejects true with an explicit precondition failure.
Z3 path-feasibility mode for analyzer taint/fault-propagation runs.
Functions
Select project registry rule definitions with activity transform-rule use(...) entries.
Configure harness files (test drivers) appended to the instrumented compilation.
Configure how interface points (entry points, sources, sinks) are determined.
Implements bitcodeTransforms += { use(qualifiedFunctionName = "...") } as append, not replacement.
Configure stub headers and source files for covering undefined symbols.
Configure symbol verification on the final P5 analyzer input. Unlike P4's informational report, P5 verification fails on undefined symbols.