Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
data class BitcodeModelArgument(val type: String, val value: String)
Link copied to clipboard
data class BitcodeRewriteEntry(val kind: BitcodeRewriteKind, val subjectKind: BitcodeRewriteSubjectKind, val changeKind: BitcodeRewriteChangeKind, val mechanismKind: BitcodeRewriteMechanismKind, val providerKind: BitcodeRewriteProviderKind, val rewriteLabel: String = kind.label, val rewriteDefinition: String = kind.definition, val ruleScope: String?, val ruleOwner: String?, val symbolPattern: String?, val ruleId: String?, val reason: String?, val name: String, val demangledName: String, val originalDefinitionCount: Int, val transformedDefinitionCount: Int, val originalSourceFile: String? = null, val originalSource: BitcodeOriginalSource? = null, val originalSourceLine: Int? = null, val originalSourceCategory: String? = null, val originalCompileUnitSourceFile: String? = null, val originalCompileUnitSourceCategory: String? = null, val transformedSourceFile: String? = null, val transformedSourceLine: Int? = null, val transformedSourceCategory: String? = null, val transformedCompileUnitSourceFile: String? = null, val transformedCompileUnitSourceCategory: String? = null, val sourceFile: String?, val sourceLine: Int?, val sourceCategory: String?, val originalIrLines: Int? = null, val transformedIrLines: Int? = null, val originalInstructionLines: Int? = null, val transformedInstructionLines: Int? = null, val implementationSourceFile: String?, val replacementSourceFile: String?)
Link copied to clipboard
data class BitcodeRewriteReport(val entries: List<BitcodeRewriteEntry>, val validation: BitcodeRewriteReportValidation = BitcodeRewriteReportValidation.forEntries(entries), val functionAliasTargets: Map<String, String> = emptyMap())
Link copied to clipboard
data class BitcodeRewriteValidationViolation(val name: String, val demangledName: String, val subjectKind: BitcodeRewriteSubjectKind, val changeKind: BitcodeRewriteChangeKind, val mechanismKind: BitcodeRewriteMechanismKind, val providerKind: BitcodeRewriteProviderKind, val message: String)
Link copied to clipboard
data class GeneratedHarnessLlvmContractResult(val generatedLifecycleEntrySymbol: String?, val configuredAnalyzerEntrySymbols: List<String>, val expectedMarkerCount: Int, val definedMarkerCount: Int, val calledMarkerCount: Int, val violations: List<String>, val markerSymbols: List<String> = emptyList())
Link copied to clipboard

Verifies the generated harness's structural contract against a final linked textual LLVM module.

Link copied to clipboard
data class LlvmCountedScalarArray(val array: BitcodeArrayField, val objectBytes: Long, val indirect: Boolean)
Link copied to clipboard
data class LlvmFixedElementMember(val offsetBytes: Long, val strideBytes: Long, val capacity: Int, val member: LlvmScalarMember, val objectBytes: Long, val indirect: Boolean)
Link copied to clipboard

Conservative source-level taint summaries derived from untransformed textual LLVM IR.

Link copied to clipboard
data class LlvmFunctionBehaviorRequest(val llvmSymbol: String, val qualifiedFunctionName: String, val demangledName: String)
Link copied to clipboard
data class LlvmFunctionContractReport(val schemaId: String = "ai.exida.stig/llvm-function-contracts", val schemaVersion: Int = 1, val checkpoint: String = "P5_FINAL", val moduleSha256: String, val beforeFinalOptimizationSha256: String, val analyzerEntrySymbols: List<String>, val reachabilityScope: String, val reachableFunctionCount: Int, val harness: GeneratedHarnessLlvmContractResult?, val rules: List<LlvmFunctionRuleCheck>, val helpers: List<LlvmRequiredInlineHelperCheck>, val violations: List<LlvmFunctionContractViolation>)
Link copied to clipboard

Checks compiler contracts; the separate transform-body validator checks configured model semantics.

Link copied to clipboard
data class LlvmFunctionContractViolation(val requirement: String, val symbol: String, val message: String, val ruleId: String? = null, val callers: List<LlvmReviewCaller> = emptyList(), val referencingSymbols: List<String> = emptyList())
Link copied to clipboard

Focused reader for compiler-produced function debug identity and source provenance.

Link copied to clipboard
data class LlvmFunctionDisplayInfo(val abiVariant: String?, val referenceStatus: String)

Display-oriented identity and reference facts for one exact LLVM function symbol.

Link copied to clipboard

Derives exact-symbol details that a demangled C++ name alone cannot show.

Link copied to clipboard
data class LlvmFunctionRuleCheck(val ruleId: String, val selector: String, val inlining: Inlining, val compilerMatchedSymbols: List<String>, val beforeFinalOptimizationSymbols: List<String>, val finalDefinedSymbols: List<String>, val absentFinalSymbols: List<String>, val status: String)
Link copied to clipboard
Link copied to clipboard
data class LlvmIrFunctionMetrics(val name: String, val demangledName: String, val sourceFile: String?, val sourceLine: Int?, val sourceCategory: String, val compileUnitSourceFile: String?, val compileUnitSourceCategory: String, val bodyShape: String, val startLine: Int, val irLines: Int, val instructionLines: Int, val bytes: Int, val calls: Int, val invokes: Int, val loads: Int, val stores: Int, val branches: Int, val returns: Int)
Link copied to clipboard
data class LlvmIrModuleDiagnostics(val modulePath: String, val note: String? = null, val summary: LlvmIrSummary, val functions: List<LlvmIrFunctionMetrics>, val suspects: List<LlvmIrFunctionMetrics>, val transformValidation: LlvmIrTransformValidationReport? = null)

Lightweight textual LLVM IR diagnostics for build-time analysis debugging.

Link copied to clipboard
data class LlvmIrSummary(val functionCount: Int, val irLines: Int, val functionIrLines: Int, val instructionLines: Int, val bytes: Int, val selectedCompilationUnitFunctions: Int, val selectedCompilationUnitInstructionLines: Int, val harnessFunctions: Int, val harnessInstructionLines: Int, val stubFunctions: Int, val stubInstructionLines: Int, val dependencyFunctions: Int, val dependencyInstructionLines: Int, val unknownFunctions: Int, val unknownInstructionLines: Int)
Link copied to clipboard
data class LlvmIrTransformFunctionViolation(val kind: String, val id: String?, val symbol: String, val function: String, val demangledName: String, val expectedShape: String, val actualShape: String, val instructionLines: Int)
Link copied to clipboard
data class LlvmIrTransformRuleValidation(val kind: String, val id: String?, val symbol: String, val reason: String?, val expectedShape: String, val matchedFunctions: Int)
Link copied to clipboard
data class LlvmIrTransformValidationReport(val configuredRuleCount: Int, val checkedRuleCount: Int, val matchedRuleCount: Int, val unmatchedRules: List<LlvmIrTransformRuleValidation>, val violations: List<LlvmIrTransformFunctionViolation>)
Link copied to clipboard
data class LlvmPointerMember(val offsetBytes: Long, val pointerBytes: Long, val objectBytes: Long)

Writable stored byte pointer selected from compiler types; the pointee is distinct from this slot.

Link copied to clipboard
data class LlvmReferenceMember(val offsetBytes: Long, val pointerBytes: Long)

One C++ reference member whose stored pointer must be loaded before selecting its referent.

Link copied to clipboard
data class LlvmRequiredInlineHelperCheck(val helper: LlvmRequiredInlineHelper, val remainingCalls: List<LlvmFunctionContractViolation>, val addressUses: List<LlvmFunctionContractViolation> = emptyList())
Link copied to clipboard
data class LlvmReturnMember(val path: List<String>, val member: LlvmScalarMember)
Link copied to clipboard
data class LlvmReviewCall(val symbol: String, val lines: List<Int>)
Link copied to clipboard
data class LlvmReviewCaller(val symbol: String, val lines: List<Int>)
Link copied to clipboard

One streaming pass over a canonical llvm-dis module. Bodies stay in the module, with exact byte/line ranges.

Link copied to clipboard
data class LlvmReviewLine(val line: Int, val instruction: String)
Link copied to clipboard
data class LlvmReviewModuleIndex(val schemaId: String = "ai.exida.stig/llvm-review-index", val schemaVersion: Int = 1, val bytes: Long, val sha256: String, val symbols: Map<String, LlvmReviewSymbol>)
Link copied to clipboard
data class LlvmReviewSymbol(val symbol: String, val kind: String, val state: String, val startLine: Int, val endLine: Int, val byteOffset: Long, val byteLength: Long, val sha256: String, val header: String, val attributes: String = "", val returnType: String? = null, val parameters: List<String> = emptyList(), val sretParameterIndexes: List<Int> = emptyList(), val aliasTarget: String? = null, val calls: List<LlvmReviewCall> = emptyList(), val callers: List<LlvmReviewCaller> = emptyList(), val referencedSymbols: List<String> = emptyList(), val instructionCounts: Map<String, Int> = emptyMap(), val excerpts: Map<String, List<LlvmReviewLine>> = emptyMap())

Compiler facts only. Effects listed here do not establish agreement with an activity's sinks.

Link copied to clipboard
data class LlvmScalarMember(val offsetBytes: Long, val llvmType: String, val bytes: Long, val isBoolean: Boolean, val readOnly: Boolean, val objectBytes: Long, val indirect: Boolean, val references: List<LlvmReferenceMember> = emptyList())

A scalar location derived from the exact function's compiler debug types, never from configured offsets.

Link copied to clipboard
data class LlvmSourceLocation(val file: String, val line: Int?)
Link copied to clipboard
data class LoweredBitcodeFunctionModel(val body: List<String>, val declarations: Set<String> = emptySet())
Link copied to clipboard
data class SourceCodeAnalysisFunctionInventoryEntry(val llvmSymbol: String, val demangledName: String, val ownerUnits: List<String>)

One exact function definition in the complete untransformed native inventory.

Distinguishes incompatible established behaviors from incomplete evidence across original overloads.

Functions

Link copied to clipboard
fun importLlvmMemberTransferSignatures(module: String, originalModule: String, signatureTargets: Map<String, String>): String

Retain exact P3 compiler signatures for address-only P5 declarations. Clang does not always emit DISubprogram for taking a free function's address. Every parameter/receiver record type must already exist in P5 with the same compiler identity and object layout; no implementation or inferred layout is imported. Linked P3 class records without an identifier require an identified copy of the same compiler declaration, with the same exact member linkage names and complete layout. C file-scope records instead use their exact checksum-bearing source declaration and complete type layout. The caller checks the exact LLVM signatures before invoking this function.

Link copied to clipboard
fun lowerAtomicStoredPointerGlobal(model: BitcodeFunctionModel, abi: BitcodeFunctionAbi, parameters: List<String>, returnType: String, pointerBytes: Long): List<String>
Link copied to clipboard

Lowers a reviewed model after source-level endpoints have been resolved against the exact function ABI.

Link copied to clipboard
fun lowerBitcodeMemberTransfers(transfers: List<BitcodeTransferEdge>, abi: BitcodeFunctionAbi, parameters: List<String>, arguments: List<BitcodeModelArgument>, returnType: String, llvmSymbol: String, debugMetadata: LlvmFunctionDebugMetadataIndex, zeroInitializeReturn: Boolean = false): List<String>

Emit scalar assignments at compiler-resolved member locations. All sources are read before any store. Multiple contributors to one destination form a dependency union. A self-edge explicitly includes the entry-time destination value. Counted array snapshots are shared across every destination using them.

Link copied to clipboard

Copy through the entry cursor, then reload its storage before advancing; aliases can change that storage.

Link copied to clipboard

Materialize a union of selected-memory/scalar dependencies in a scalar return. Dependency loads read individual bytes and never include padding outside the configured ranges. Count fields contribute even when an array is empty or its count exceeds capacity.

Link copied to clipboard

Preserve stored pointer identity; these operations neither copy nor read pointee contents.

Link copied to clipboard
Link copied to clipboard

Return the proven pointer width; reject other storage instead of treating integer bits as pointer state.

Link copied to clipboard

The fallback is a global pointer's stored value, never its address or an external/TLS object.

Generated with STIG