Package-level declarations

Types

Link copied to clipboard
data class BazelBuildConfig(val buildSystem: StigBuildSystem = StigBuildSystem.BAZEL, val workspaceDir: String? = null, val target: String? = null, val targetPattern: String? = null, val buildOptions: List<String> = emptyList(), val startupOptions: List<String> = emptyList(), val compdbTargets: List<String> = emptyList(), val interfaceTargets: List<String> = emptyList(), val trackActionInputs: Boolean? = null) : StigBuildConfig
Link copied to clipboard
data class BitcodeArrayField(val offset: Long, val type: BitcodeMemoryFieldType, val capacity: Int, val countOffset: Long, val countType: BitcodeMemoryFieldType = BitcodeMemoryFieldType.INT32, val tolerance: BitcodeFloatingPointTolerance? = null)

A fixed-capacity array whose active length is an unsigned count field in the same object.

Link copied to clipboard
data class BitcodeFloatingPointTolerance(val absolute: Double, val relative: Double)
Link copied to clipboard
data class BitcodeFunctionAbi(val sourceParameterIndexes: List<Int>, val thisParameterIndex: Int?, val sretParameterIndex: Int?, val hasNormalReturn: Boolean)

Exact source-to-LLVM endpoint mapping for one function signature.

Link copied to clipboard

Resolves hidden C++ ABI parameters without exposing their indexes in the public DSL.

Link copied to clipboard
data class BitcodeFunctionEndpoint(val kind: BitcodeFunctionEndpointKind, val parameterIndex: Int? = null, val memory: BitcodeMemorySource? = null, val memberPath: List<String> = emptyList(), val parameterName: String? = null, val arrayCountPath: List<String> = emptyList(), val constant: BitcodeScalarConstant? = null, val arrayElements: Boolean = false, val eachElementPath: List<String>? = null, val indexedElement: BitcodeIndexedElement? = null, val globalSymbol: String? = null)

One source-level C++ function endpoint, independent of hidden LLVM ABI arguments.

Link copied to clipboard
data class BitcodeFunctionModel(val kind: BitcodeFunctionModelKind, val inputs: List<BitcodeFunctionEndpoint>, val ranges: List<BitcodeMemoryRange> = emptyList(), val fields: List<BitcodeMemoryField> = emptyList(), val arrays: List<BitcodeArrayField> = emptyList(), val constraints: List<BitcodeIntegerConstraint> = emptyList(), val validResult: Long = 0, val invalidResult: Long = 1, val copyBytes: Int? = null, val storedPointerGlobal: String? = null)

Typed, serializable configuration shared by the DSL, LLVM producer, review fingerprint and report.

Link copied to clipboard

Operations with defined value and memory semantics, rather than dependency-only transfers.

Link copied to clipboard
data class BitcodeIndexedElement(val index: BitcodeFunctionEndpoint, val memberPath: List<String> = emptyList())

Select one array element with an integer source parameter, without merging other element payloads.

Link copied to clipboard
data class BitcodeIntegerConstraint(val field: BitcodeMemoryField, val allowedValues: List<Long>)
Link copied to clipboard
data class BitcodeMemoryField(val offset: Long, val type: BitcodeMemoryFieldType, val tolerance: BitcodeFloatingPointTolerance? = null)
Link copied to clipboard
data class BitcodeMemoryRange(val offset: Long, val bytes: Long)

Byte offsets and lengths describe the reviewed target layout, including any deliberately skipped padding.

Link copied to clipboard
data class BitcodeMemorySource(val ranges: List<BitcodeMemoryRange> = emptyList(), val arrays: List<BitcodeArrayField> = emptyList())

Selected input memory whose data contributes to a scalar return, without computing the original value.

Link copied to clipboard
data class BitcodeOriginalSource(val repoName: String? = null, val relativePath: String? = null, val url: String? = null)

Location of the original function, paired with the rule's function/exact-symbol selector.

Link copied to clipboard
data class BitcodeScalarConstant(val integerValue: Long? = null, val booleanValue: Boolean? = null)

A literal assignment, with no incoming data dependency or expression evaluation.

Link copied to clipboard

A declarative dependency relation, expanded to individual edges before configuration is persisted.

Link copied to clipboard

One data-dependency edge; both endpoints equal means retaining that entry-time dependency.

Link copied to clipboard

Every source may contribute to every destination in this group.

Link copied to clipboard
data class BitcodeTransformActivation(val pattern: String)

One activity selector of a shared project registry rule.

Link copied to clipboard
data class BitcodeTransformActivationsConfig(val inheritParent: Boolean = true, val activations: List<BitcodeTransformActivation> = emptyList())

Transform selectors activated at one defaults/group/element cascade level.

Link copied to clipboard
data class BitcodeTransformRegistryConfig(val rules: List<BitcodeTransformRule> = emptyList())

Project-wide transform definitions keyed by their human-readable symbol pattern.

Link copied to clipboard

Technical review recorded once on the shared project registry rule.

Link copied to clipboard
data class BitcodeTransformRule(val kind: BitcodeRewriteKind, val symbol: String, val originalCompileUnit: StigRepoFile? = null, val replacementSource: String? = null, val sourceFile: String? = null, val transfers: List<BitcodeTransferEdge> = emptyList(), val model: BitcodeFunctionModel? = null, val nativeCompileUnit: StigRepoFile? = null, val reason: String? = null, val scope: BitcodeTransformScope? = null, val owner: String? = null, val mangledSymbol: String? = null, val originalSource: BitcodeOriginalSource? = originalCompileUnit?.let { BitcodeOriginalSource(repoName = it.repoName, relativePath = it.relativePath) }, val reviewStatus: BitcodeTransformReviewStatus = BitcodeTransformReviewStatus.NEW, val zeroInitializeReturn: Boolean = false, val definitionMode: DefinitionMode? = when (kind) { BitcodeRewriteKind.ADD_FUNCTION_IMPLEMENTATION -> DefinitionMode.ADD BitcodeRewriteKind.SET_FUNCTION_INLINING, BitcodeRewriteKind.REWRITE_GLOBAL_TO_ZERO, BitcodeRewriteKind.REWRITE_GLOBAL_TO_UNKNOWN, BitcodeRewriteKind.REWRITE_WITH_ANALYSIS_COMPILE_UNIT -> null else -> DefinitionMode.REWRITE }, val inlining: Inlining = when (kind) { BitcodeRewriteKind.SET_FUNCTION_INLINING, BitcodeRewriteKind.REWRITE_GLOBAL_TO_ZERO, BitcodeRewriteKind.REWRITE_GLOBAL_TO_UNKNOWN, BitcodeRewriteKind.REWRITE_WITH_ANALYSIS_COMPILE_UNIT -> Inlining.DEFAULT else -> Inlining.NEVER })

One LLVM bitcode rewrite rule.

Link copied to clipboard
data class BitcodeTransformsConfig(val inheritParent: Boolean = true, val rules: List<BitcodeTransformRule> = emptyList())

Transform rules configured at one cascade level.

Link copied to clipboard

Whether a function rule supplies a missing definition or replaces any original definition.

Link copied to clipboard
data class GeneratedAnalysisTransformEntry(val status: GeneratedAnalysisTransformStatus, val kind: BitcodeRewriteKind, val symbol: String, val mangledSymbol: String? = null, val id: String, val reason: String, val originReport: String)

One actionable transform generated from a concrete missing-symbol report.

Link copied to clipboard
data class GeneratedAnalysisTransformsFile(val schemaVersion: Int = GENERATED_ANALYSIS_TRANSFORMS_SCHEMA_VERSION, val entries: List<GeneratedAnalysisTransformEntry> = emptyList())

Conventional element-local analysis-model file consumed by P3/P5.

Link copied to clipboard

Compiler policy for a retained or supplied C/C++ implementation.

Link copied to clipboard
data class ModelCheckConfig(val context: ModelCheckViewpointConfig? = null, val requirements: ModelCheckViewpointConfig? = null, val design: ModelCheckViewpointConfig? = null, val analysis: ModelCheckViewpointConfig? = null, val tests: ModelCheckViewpointConfig? = null, val reportClassificationDifferences: Boolean? = null)
Link copied to clipboard
data class ModelCheckViewpointConfig(val enabled: Boolean? = null)
Link copied to clipboard
data class ProvenanceBuildConfig(val includes: List<String>? = null, val excludes: List<String>? = null)
Link copied to clipboard
data class ResolvedStigElementConfig(val name: String, val projectPath: String, val moduleDir: String, val moduleDirAbsolute: String, val sourceProfile: String?, val group: String?, val implementationRoot: String, val implementationRootAbsolute: String, val implementationDir: String, val implementationDirAbsolute: String, val placement: StigElementPlacement, val elementType: ElementType, val importEnabled: Boolean, val failAt: ProblemSeverity?, val pathFeasibility: PathFeasibility?, val build: StigBuildConfig?, val interfacePointMode: InterfacePointMode?, val interfacePointLocation: String?)
Link copied to clipboard
data class SoftwareUnderAnalysisConfig(val includes: List<String>? = null, val targetSourceTrees: List<String>? = null, val requireExplicitIncludes: Boolean? = null)
Link copied to clipboard
data class SourceCodeAnalysisAllowedExternalSymbol(val symbol: String, val mangledSymbol: String? = null, val category: String)
Link copied to clipboard
data class SourceCodeAnalysisBoundarySymbol(val symbol: String, val mangledSymbol: String? = null, val kind: SourceCodeAnalysisBoundarySymbolKind, val requiredBySources: List<String>, val requiredByFunctions: List<String> = emptyList(), val ownerUnits: List<String> = emptyList(), val ownerRepository: String? = null, val ownerSourceLocations: List<String> = emptyList(), val effectiveTransforms: List<String> = emptyList(), val proposedProvenanceOwnerUnits: List<String> = emptyList(), val functionBehavior: SourceCodeAnalysisFunctionBehavior? = null)

One exact symbol crossing out of the untransformed selected analysis sources.

Link copied to clipboard
data class SourceCodeAnalysisConfig(val enableComplexityAnalysis: Boolean = true, val enableControlFlowAnalysis: Boolean = false, val enableDataAndControlFlowAnalysis: Boolean = false, val enableCascadingFailuresAnalysis: Boolean = false, val showDataFlowDiagramsForDataAndControlFlow: Boolean? = null, val showControlFlowDiagramsForDataAndControlFlow: Boolean? = null, val showCombinedDiagramsForDataAndControlFlow: Boolean? = null, val showDataFlowDiagramsForCascadingFailures: Boolean? = null, val showControlFlowDiagramsForCascadingFailures: Boolean? = null, val showCombinedDiagramsForCascadingFailures: Boolean? = null, val enableDetailedDiagramsForAllSinks: Boolean? = null) : Serializable

Source-code analysis pipeline toggles.

Link copied to clipboard
data class SourceCodeAnalysisConfigurationManifest(val schemaVersion: Int = SOURCE_CODE_ANALYSIS_CONFIGURATION_SCHEMA_VERSION, val nativeTarget: String, val selectedTargets: List<String>, val nativeActionFingerprint: String, val activitySourceRoot: String, val units: List<SourceCodeAnalysisConfigurationUnit>, val activeTransforms: List<SourceCodeAnalysisTransformProvenance> = emptyList(), val customSources: List<SourceCodeAnalysisCustomSource> = emptyList(), val externalCandidates: List<SourceCodeAnalysisExternalCandidate> = emptyList(), val unresolvedSymbols: List<SourceCodeAnalysisUnresolvedSymbol> = emptyList(), val allowedExternalSymbols: List<SourceCodeAnalysisAllowedExternalSymbol> = emptyList(), val mappingProblems: List<SourceCodeAnalysisConfigurationMappingProblem> = emptyList(), val generatedBy: String, val originProposal: String)
data class SourceCodeAnalysisConfigurationMappingProblem(val code: String, val path: String? = null, val details: String)
Link copied to clipboard
data class SourceCodeAnalysisConfigurationProposal(val schemaVersion: Int = SOURCE_CODE_ANALYSIS_CONFIGURATION_SCHEMA_VERSION, val manifest: SourceCodeAnalysisConfigurationManifest, val nativeUniverse: List<SourceCodeAnalysisNativeUnit> = emptyList(), val externalCandidates: List<SourceCodeAnalysisExternalCandidate> = emptyList(), val unresolvedSymbols: List<SourceCodeAnalysisUnresolvedSymbol> = emptyList(), val allowedExternalSymbols: List<SourceCodeAnalysisAllowedExternalSymbol> = emptyList(), val mappingProblems: List<SourceCodeAnalysisConfigurationMappingProblem> = emptyList(), val staleReviewedUnits: List<String> = emptyList(), val p3MigrationAdditions: List<String> = emptyList(), val p3MigrationRemovals: List<String> = emptyList(), val p4MigrationAdditions: List<String> = emptyList(), val p4MigrationRemovals: List<String> = emptyList(), val selectedAnalysisCompileUnits: List<String> = emptyList(), val selectedAnalysisSources: List<String> = emptyList(), val boundarySymbols: List<SourceCodeAnalysisBoundarySymbol> = emptyList(), val originalFunctionBehaviors: Map<String, SourceCodeAnalysisFunctionBehavior> = emptyMap(), val provenanceOwnerCompileUnits: List<String> = emptyList(), val staleTransformActivations: List<String> = emptyList())
Link copied to clipboard
data class SourceCodeAnalysisConfigurationUnit(val path: String, val target: String, val selectedTarget: String, val actionKey: String? = null, val reasons: List<SourceCodeAnalysisUnitReason>, val reviewReason: String? = null, val reviewedBy: String? = null, val transforms: List<String> = emptyList())
Link copied to clipboard
data class SourceCodeAnalysisCustomSource(val path: String, val kind: String)
Link copied to clipboard
data class SourceCodeAnalysisExternalCandidate(val symbol: String, val mangledSymbol: String? = null, val ownerUnits: List<String>)
Link copied to clipboard
data class SourceCodeAnalysisFunctionBehavior(val kind: LlvmDerivedBehavior, val transfers: List<BitcodeTransferEdge> = emptyList(), val rawFacts: List<String> = emptyList(), val endpointMappings: List<String> = emptyList(), val reason: String, val outputEffects: List<SourceCodeAnalysisOutputEffect>? = null)
Link copied to clipboard
data class SourceCodeAnalysisNativeUnit(val path: String, val target: String, val selectedTarget: String, val actionKey: String? = null)
Link copied to clipboard
data class SourceCodeAnalysisOutputEffect(val operation: String, val endpoint: BitcodeFunctionEndpoint, val constant: String? = null)

Raw LLVM evidence and the conservative taint summary derived from it.

Link copied to clipboard
data class SourceCodeAnalysisTransformMatch(val symbol: String, val mangledSymbol: String? = null, val ownerUnits: List<String> = emptyList())
Link copied to clipboard
data class SourceCodeAnalysisTransformProvenance(val identity: String, val kind: BitcodeRewriteKind, val symbol: String, val mangledSymbol: String? = null, val scope: BitcodeTransformScope? = null, val owner: String? = null, val originalCompileUnit: String? = null, val originalSource: BitcodeOriginalSource? = null, val llvmDerivedBehavior: LlvmDerivedBehavior? = null, val reviewStatus: BitcodeTransformReviewStatus = BitcodeTransformReviewStatus.NEW, val ownerUnits: List<String> = emptyList(), val matchedSymbols: List<SourceCodeAnalysisTransformMatch> = emptyList(), val p5InputMatchedSymbols: List<String>? = null, val sourceInclusionTriggers: List<String> = emptyList())
Link copied to clipboard
data class SourceCodeAnalysisUnresolvedSymbol(val symbol: String, val mangledSymbol: String? = null, val requiredByUnits: List<String>)
Link copied to clipboard
sealed interface StigBuildConfig
Link copied to clipboard
Link copied to clipboard
data class StigElementConfig(val name: String, val projectPath: String, val moduleDir: String, val implementationDir: String? = null, val group: String? = null, val sourceProfile: String? = null, val placement: StigElementPlacement? = null, val elementType: ElementType? = null, val importEnabled: Boolean? = null, val failAt: ProblemSeverity? = null, val pathFeasibility: PathFeasibility? = null, val asil: ASIL? = null, val build: StigBuildConfig? = null, val interfacePointMode: InterfacePointMode? = null, val interfacePointLocation: String? = null)
Link copied to clipboard

Canonical static STIG project configuration model.

Link copied to clipboard
data class StigElementSettings(val name: String, val projectPath: String, val moduleDir: String, val implementationRoot: String = ".", val implementationDir: String = moduleDir, val placement: StigElementPlacement = StigElementPlacement.DIRECT, val elementType: ElementType = ElementType.COMPONENT, val importEnabled: Boolean = true, val failAt: ProblemSeverity? = ProblemSeverity.CRITICAL, val pathFeasibility: PathFeasibility? = null, val interfacePointMode: InterfacePointMode? = null, val interfacePointLocation: String? = null, val build: StigBuildConfig? = null)

Flat, per-element settings model for Settings scripts.

Link copied to clipboard
data class StigGroupConfig(val name: String, val sourceProfile: String? = null, val projectPathPrefix: String? = null, val moduleDirPrefix: String? = null, val implementationDirPrefix: String? = null, val placement: StigElementPlacement? = null, val elementType: ElementType? = null, val importEnabled: Boolean? = null, val failAt: ProblemSeverity? = null, val pathFeasibility: PathFeasibility? = null, val asil: ASIL? = null, val build: StigBuildConfig? = null, val interfacePointMode: InterfacePointMode? = null, val interfacePointLocation: String? = null, val provenanceBuild: ProvenanceBuildConfig? = null, val softwareUnderAnalysis: SoftwareUnderAnalysisConfig? = null, val modelCheck: ModelCheckConfig? = null, val stubs: StubsConfig? = null, val bitcodeTransforms: BitcodeTransformActivationsConfig? = null, val enableComplexityAnalysis: Boolean? = null, val enableControlFlowAnalysis: Boolean? = null, val enableDataAndControlFlowAnalysis: Boolean? = null, val enableCascadingFailuresAnalysis: Boolean? = null, val enableDetailedDiagramsForAllSinks: Boolean? = null)
Link copied to clipboard
data class StigProjectConfig(val defaults: StigProjectDefaults = StigProjectDefaults(), val sourceProfiles: List<StigSourceProfileConfig> = emptyList(), val groups: List<StigGroupConfig> = emptyList(), val elements: List<StigElementConfig> = emptyList())
Link copied to clipboard
data class StigProjectDefaults(val sourceProfile: String? = null, val placement: StigElementPlacement = StigElementPlacement.STIG_SUBDIR, val elementType: ElementType = ElementType.COMPONENT, val importEnabled: Boolean = true, val failAt: ProblemSeverity? = ProblemSeverity.CRITICAL, val pathFeasibility: PathFeasibility? = null, val asil: ASIL? = null, val build: StigBuildConfig? = null, val interfacePointMode: InterfacePointMode? = null, val interfacePointLocation: String? = null, val provenanceBuild: ProvenanceBuildConfig? = null, val softwareUnderAnalysis: SoftwareUnderAnalysisConfig? = null, val modelCheck: ModelCheckConfig? = null, val stubs: StubsConfig? = null, val bitcodeTransforms: BitcodeTransformActivationsConfig? = null, val enableComplexityAnalysis: Boolean? = null, val enableControlFlowAnalysis: Boolean? = null, val enableDataAndControlFlowAnalysis: Boolean? = null, val enableCascadingFailuresAnalysis: Boolean? = null, val showDataFlowDiagramsForDataAndControlFlow: Boolean? = null, val showControlFlowDiagramsForDataAndControlFlow: Boolean? = null, val showCombinedDiagramsForDataAndControlFlow: Boolean? = null, val showDataFlowDiagramsForCascadingFailures: Boolean? = null, val showControlFlowDiagramsForCascadingFailures: Boolean? = null, val showCombinedDiagramsForCascadingFailures: Boolean? = null, val enableDetailedDiagramsForAllSinks: Boolean? = null)
Link copied to clipboard
data class StigSourceProfileConfig(val name: String, val implementationRoot: String? = null, val build: StigBuildConfig? = null, val interfacePointMode: InterfacePointMode? = null, val interfacePointLocation: String? = null, val remoteUrl: String? = null, val remotePath: String? = null, val commit: String? = null, val commitRef: CommitRef? = null, val codeBrowser: CodeBrowser = CodeBrowser.AUTO, val editRef: String? = null, val gitOwnership: GitOwnership = GitOwnership.CHECKOUT)
Link copied to clipboard
data class StubsConfig(val enabled: Boolean = false, val iQuotePaths: List<String> = emptyList(), val stubSourceFiles: List<String> = emptyList())

Analysis-level stub header configuration.

Functions

Link copied to clipboard

Stable registry identity; transform kind and lifecycle metadata deliberately do not participate.

Link copied to clipboard
fun bitcodeTransformIdentity(symbol: String, mangledSymbol: String?): String
Link copied to clipboard

Matches a configured transform selector against one LLVM or demangled C++ symbol.

Link copied to clipboard

Canonical name of an LLVM global identifier, without the IR-only @ sigil or optional quoting.

Link copied to clipboard
Link copied to clipboard

Native compile-unit provenance, including the operational source of an alternate implementation rewrite.

Link copied to clipboard

Validate selected rules at execution, leaving incomplete registry proposals available for review.

Link copied to clipboard

True when the applied transform semantics still require source/LLVM model review.

Link copied to clipboard

True when a transform is intentionally unsuitable for evidence-ready analysis.

Mirrors the configured-rule evidence gate using the provenance persisted in the scope proposal.

Link copied to clipboard

Memory models that require exact compiler member layout and parameter-name metadata.

Link copied to clipboard

Named parameters and fields require exact compiler types instead of the legacy untyped endpoint lowering.

Generated with STIG