Files
git.stella-ops.org/publish/platform/StellaOps.BinaryIndex.Semantic.xml
2026-02-12 21:02:43 +02:00

1927 lines
106 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>StellaOps.BinaryIndex.Semantic</name>
</assembly>
<members>
<member name="T:StellaOps.BinaryIndex.Semantic.CallNgramGenerator">
<summary>
Generates call-ngram fingerprints from lifted IR for cross-compiler resilient matching.
Call-ngrams capture function call sequences which are more stable across different
compilers and optimization levels than raw instruction sequences.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.CallNgramGenerator.#ctor(Microsoft.Extensions.Options.IOptions{StellaOps.BinaryIndex.Semantic.CallNgramOptions},Microsoft.Extensions.Logging.ILogger{StellaOps.BinaryIndex.Semantic.CallNgramGenerator})">
<summary>
Creates a new call-ngram generator.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.CallNgramGenerator.Generate(StellaOps.BinaryIndex.Semantic.LiftedFunction)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.CallNgramGenerator.ComputeSimilarity(StellaOps.BinaryIndex.Semantic.CallNgramFingerprint,StellaOps.BinaryIndex.Semantic.CallNgramFingerprint)">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.ICallNgramGenerator">
<summary>
Interface for call-ngram generation.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ICallNgramGenerator.Generate(StellaOps.BinaryIndex.Semantic.LiftedFunction)">
<summary>
Generates a call-ngram fingerprint for a lifted function.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ICallNgramGenerator.ComputeSimilarity(StellaOps.BinaryIndex.Semantic.CallNgramFingerprint,StellaOps.BinaryIndex.Semantic.CallNgramFingerprint)">
<summary>
Computes similarity between two fingerprints.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.CallNgramOptions">
<summary>
Call-ngram generator options.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CallNgramOptions.SectionName">
<summary>Configuration section name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramOptions.NgramSizes">
<summary>N-gram sizes to generate (default: 2, 3, 4).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramOptions.IncludeSequence">
<summary>Whether to include the full call sequence in output.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramOptions.MinCallCount">
<summary>Minimum call count to generate fingerprint.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint">
<summary>
Call-ngram fingerprint result.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint.Empty">
<summary>Empty fingerprint for functions with no calls.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint.Hash">
<summary>SHA-256 hash of all n-grams.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint.CallCount">
<summary>Total call count in function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint.UniqueTargets">
<summary>Number of unique call targets.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint.NgramCounts">
<summary>N-gram count per size.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CallNgramFingerprint.CallSequence">
<summary>Original call sequence (if included).</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2">
<summary>
Extended symbol signature with call-ngram and bom-ref.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.FuncId">
<summary>Function identifier (module:bom-ref:offset:canonical-IR-hash).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.Name">
<summary>Human-readable function name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.Demangled">
<summary>Demangled name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.Module">
<summary>Module name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.BomRef">
<summary>SBOM bom-ref linking to component.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.Offset">
<summary>Function offset within module.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.CanonicalIrHash">
<summary>Canonical IR hash (Weisfeiler-Lehman).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.CallNgramHash">
<summary>Call-ngram fingerprint hash.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.Architecture">
<summary>Target architecture.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.Lifter">
<summary>IR lifter used.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.IrVersion">
<summary>IR version for cache invalidation.</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SymbolSignatureV2.GenerateFuncId(System.String,System.String,System.UInt64,System.String)">
<summary>
Generates the func_id in advisory format.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IIrLiftingService">
<summary>
Service for lifting disassembled instructions to intermediate representation.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IIrLiftingService.LiftToIrAsync(System.Collections.Generic.IReadOnlyList{StellaOps.BinaryIndex.Disassembly.DisassembledInstruction},System.String,System.UInt64,StellaOps.BinaryIndex.Disassembly.CpuArchitecture,StellaOps.BinaryIndex.Semantic.LiftOptions,System.Threading.CancellationToken)">
<summary>
Lift a disassembled function to B2R2 LowUIR intermediate representation.
</summary>
<param name="instructions">Disassembled instructions.</param>
<param name="functionName">Name of the function.</param>
<param name="startAddress">Start address of the function.</param>
<param name="architecture">CPU architecture.</param>
<param name="options">Lifting options.</param>
<param name="ct">Cancellation token.</param>
<returns>The lifted function with IR statements and CFG.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IIrLiftingService.TransformToSsaAsync(StellaOps.BinaryIndex.Semantic.LiftedFunction,System.Threading.CancellationToken)">
<summary>
Transform a lifted function to SSA form for dataflow analysis.
</summary>
<param name="lifted">The lifted function.</param>
<param name="ct">Cancellation token.</param>
<returns>The function in SSA form with def-use chains.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IIrLiftingService.SupportsArchitecture(StellaOps.BinaryIndex.Disassembly.CpuArchitecture)">
<summary>
Checks if the service supports the given architecture.
</summary>
<param name="architecture">CPU architecture to check.</param>
<returns>True if the architecture is supported.</returns>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Internal.GraphCanonicalizer">
<summary>
Canonicalizes semantic graphs for deterministic comparison.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Internal.GraphCanonicalizer.Canonicalize(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph)">
<summary>
Canonicalize a semantic graph by assigning deterministic node IDs.
</summary>
<param name="graph">The graph to canonicalize.</param>
<returns>Canonicalized graph with node mapping.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Internal.GraphCanonicalizer.ToCanonicalString(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph)">
<summary>
Compute a canonical string representation of a graph for hashing.
</summary>
<param name="graph">The graph to serialize.</param>
<returns>Canonical string representation.</returns>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Internal.WeisfeilerLehmanHasher">
<summary>
Weisfeiler-Lehman graph hashing for deterministic semantic fingerprints.
Uses iterative label refinement to capture graph structure.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Internal.WeisfeilerLehmanHasher.#ctor(System.Int32)">
<summary>
Creates a new Weisfeiler-Lehman hasher.
</summary>
<param name="iterations">Number of WL iterations (default: 3).</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Internal.WeisfeilerLehmanHasher.ComputeHash(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph)">
<summary>
Compute a deterministic hash of the semantic graph.
</summary>
<param name="graph">The semantic graph to hash.</param>
<returns>SHA-256 hash of the graph.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Internal.WeisfeilerLehmanHasher.ComputeCanonicalLabels(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph)">
<summary>
Compute canonical labels for all nodes (useful for graph comparison).
</summary>
<param name="graph">The semantic graph.</param>
<returns>Array of canonical labels indexed by node ID.</returns>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IrLiftingService">
<summary>
Default implementation of IR lifting service.
Note: This implementation provides a basic IR model transformation.
For full B2R2 LowUIR lifting, use the B2R2-specific adapter.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrLiftingService.#ctor(Microsoft.Extensions.Logging.ILogger{StellaOps.BinaryIndex.Semantic.IrLiftingService})">
<summary>
Creates a new IR lifting service.
</summary>
<param name="logger">Logger instance.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrLiftingService.SupportsArchitecture(StellaOps.BinaryIndex.Disassembly.CpuArchitecture)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrLiftingService.LiftToIrAsync(System.Collections.Generic.IReadOnlyList{StellaOps.BinaryIndex.Disassembly.DisassembledInstruction},System.String,System.UInt64,StellaOps.BinaryIndex.Disassembly.CpuArchitecture,StellaOps.BinaryIndex.Semantic.LiftOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrLiftingService.TransformToSsaAsync(StellaOps.BinaryIndex.Semantic.LiftedFunction,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.ISemanticFingerprintGenerator">
<summary>
Service for generating semantic fingerprints from key-semantics graphs.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticFingerprintGenerator.GenerateAsync(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.UInt64,StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions,System.Threading.CancellationToken)">
<summary>
Generate a semantic fingerprint from a key-semantics graph.
</summary>
<param name="graph">The key-semantics graph.</param>
<param name="address">Function start address.</param>
<param name="options">Fingerprint generation options.</param>
<param name="ct">Cancellation token.</param>
<returns>The generated semantic fingerprint.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticFingerprintGenerator.GenerateFromFunctionAsync(StellaOps.BinaryIndex.Semantic.LiftedFunction,StellaOps.BinaryIndex.Semantic.ISemanticGraphExtractor,StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions,System.Threading.CancellationToken)">
<summary>
Generate a semantic fingerprint from a lifted function (convenience method).
</summary>
<param name="function">The lifted function.</param>
<param name="graphExtractor">Graph extractor to use.</param>
<param name="options">Fingerprint generation options.</param>
<param name="ct">Cancellation token.</param>
<returns>The generated semantic fingerprint.</returns>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.ISemanticFingerprintGenerator.Algorithm">
<summary>
Gets the algorithm used by this generator.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.ISemanticGraphExtractor">
<summary>
Service for extracting key-semantics graphs from lifted IR.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticGraphExtractor.ExtractGraphAsync(StellaOps.BinaryIndex.Semantic.LiftedFunction,StellaOps.BinaryIndex.Semantic.GraphExtractionOptions,System.Threading.CancellationToken)">
<summary>
Extract a key-semantics graph from a lifted function.
Captures: data dependencies, control dependencies, memory operations.
</summary>
<param name="function">The lifted function.</param>
<param name="options">Graph extraction options.</param>
<param name="ct">Cancellation token.</param>
<returns>The extracted key-semantics graph.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticGraphExtractor.ExtractGraphFromSsaAsync(StellaOps.BinaryIndex.Semantic.SsaFunction,StellaOps.BinaryIndex.Semantic.GraphExtractionOptions,System.Threading.CancellationToken)">
<summary>
Extract a key-semantics graph from an SSA function.
More precise due to explicit def-use information.
</summary>
<param name="function">The SSA function.</param>
<param name="options">Graph extraction options.</param>
<param name="ct">Cancellation token.</param>
<returns>The extracted key-semantics graph.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticGraphExtractor.CanonicalizeAsync(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.Threading.CancellationToken)">
<summary>
Canonicalize a graph for deterministic comparison.
</summary>
<param name="graph">The graph to canonicalize.</param>
<param name="ct">Cancellation token.</param>
<returns>The canonicalized graph with node mappings.</returns>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.ISemanticMatcher">
<summary>
Service for computing semantic similarity between functions.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticMatcher.MatchAsync(StellaOps.BinaryIndex.Semantic.SemanticFingerprint,StellaOps.BinaryIndex.Semantic.SemanticFingerprint,StellaOps.BinaryIndex.Semantic.MatchOptions,System.Threading.CancellationToken)">
<summary>
Compute semantic similarity between two fingerprints.
</summary>
<param name="a">First fingerprint.</param>
<param name="b">Second fingerprint.</param>
<param name="options">Matching options.</param>
<param name="ct">Cancellation token.</param>
<returns>The match result with similarity scores.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticMatcher.FindMatchesAsync(StellaOps.BinaryIndex.Semantic.SemanticFingerprint,System.Collections.Generic.IAsyncEnumerable{StellaOps.BinaryIndex.Semantic.SemanticFingerprint},System.Decimal,System.Int32,System.Threading.CancellationToken)">
<summary>
Find the best matches for a fingerprint in a corpus.
</summary>
<param name="query">The query fingerprint.</param>
<param name="corpus">The corpus of fingerprints to search.</param>
<param name="minSimilarity">Minimum similarity threshold.</param>
<param name="maxResults">Maximum number of results to return.</param>
<param name="ct">Cancellation token.</param>
<returns>Best matching fingerprints ordered by similarity.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ISemanticMatcher.ComputeGraphSimilarityAsync(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.Threading.CancellationToken)">
<summary>
Compute similarity between two semantic graphs directly.
</summary>
<param name="a">First graph.</param>
<param name="b">Second graph.</param>
<param name="ct">Cancellation token.</param>
<returns>Graph similarity score (0.0 to 1.0).</returns>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.IB2R2LifterPool">
<summary>
Pooled B2R2 lifter for resource management.
Bounds concurrent lifter instances to prevent memory exhaustion.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.IB2R2LifterPool.AcquireAsync(System.Threading.CancellationToken)">
<summary>
Acquires a pooled lifter instance.
</summary>
<param name="ct">Cancellation token.</param>
<returns>Pooled lifter lease.</returns>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.IB2R2LifterPool.GetStats">
<summary>
Gets pool statistics.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LifterPool">
<summary>
Default B2R2 lifter pool implementation.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LifterPool.#ctor(StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolOptions)">
<summary>
Creates a new B2R2 lifter pool.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LifterPool.AcquireAsync(System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LifterPool.GetStats">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LifterPool.Return(StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter)">
<summary>
Returns a lifter to the pool.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LifterPool.DisposeAsync">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter">
<summary>
Pooled B2R2 lifter instance.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter.Id">
<summary>Unique ID for tracking.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter.CreatedAt">
<summary>When this lifter was created.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter.UseCount">
<summary>Number of times this lifter has been used.</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter.LiftToIr(System.Byte[],StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture,System.UInt64)">
<summary>
Lifts a binary to IR.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter.ResetState">
<summary>
Resets lifter state for reuse.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.PooledB2R2Lifter.Dispose">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.PooledLifterLease">
<summary>
RAII lease for pooled lifter.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.PooledLifterLease.Lifter">
<summary>Gets the lifter.</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.Lifting.PooledLifterLease.Dispose">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolOptions">
<summary>
B2R2 pool configuration.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolOptions.MinPoolSize">
<summary>Minimum pool size.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolOptions.MaxPoolSize">
<summary>Maximum pool size.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolOptions.AcquireTimeout">
<summary>Timeout for acquiring a lifter.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolOptions.MaxUsesPerLifter">
<summary>Maximum uses before recycling a lifter.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolStats">
<summary>
B2R2 pool statistics.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolStats.TotalCreated">
<summary>Total lifters created.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolStats.TotalAcquired">
<summary>Total acquisitions.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolStats.TotalReturned">
<summary>Total returns.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolStats.CurrentAvailable">
<summary>Currently available.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2PoolStats.MaxPoolSize">
<summary>Max pool size.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LiftedFunction">
<summary>
Lifted function result.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LiftedFunction.Name">
<summary>Function name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LiftedFunction.Architecture">
<summary>Target architecture.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LiftedFunction.BaseAddress">
<summary>Base address.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LiftedFunction.Statements">
<summary>IR statements.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2LiftedFunction.BasicBlocks">
<summary>Basic blocks.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2IrStatement">
<summary>
IR statement placeholder.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2BasicBlock">
<summary>
Basic block placeholder.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2BasicBlock.Address">
<summary>Block address.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.Lifting.B2R2BasicBlock.Statements">
<summary>Statements in block.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture">
<summary>
Target architecture.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture.X64">
<summary>x86-64.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture.ARM64">
<summary>ARM64/AArch64.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture.MIPS32">
<summary>MIPS32.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture.MIPS64">
<summary>MIPS64.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.Lifting.B2R2Architecture.RISCV64">
<summary>RISC-V 64.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticFingerprint">
<summary>
A semantic fingerprint for a function, used for similarity matching.
</summary>
<param name="FunctionName">Name of the source function.</param>
<param name="Address">Start address of the function.</param>
<param name="GraphHash">SHA-256 hash of the canonical semantic graph.</param>
<param name="OperationHash">Hash of the operation sequence.</param>
<param name="DataFlowHash">Hash of data dependency patterns.</param>
<param name="NodeCount">Number of nodes in the semantic graph.</param>
<param name="EdgeCount">Number of edges in the semantic graph.</param>
<param name="CyclomaticComplexity">McCabe cyclomatic complexity.</param>
<param name="ApiCalls">External API/function calls (semantic anchors).</param>
<param name="Algorithm">Algorithm used to generate this fingerprint.</param>
<param name="Metadata">Additional algorithm-specific metadata.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.#ctor(System.String,System.UInt64,System.Byte[],System.Byte[],System.Byte[],System.Int32,System.Int32,System.Int32,System.Collections.Immutable.ImmutableArray{System.String},StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm,System.Collections.Immutable.ImmutableDictionary{System.String,System.Object})">
<summary>
A semantic fingerprint for a function, used for similarity matching.
</summary>
<param name="FunctionName">Name of the source function.</param>
<param name="Address">Start address of the function.</param>
<param name="GraphHash">SHA-256 hash of the canonical semantic graph.</param>
<param name="OperationHash">Hash of the operation sequence.</param>
<param name="DataFlowHash">Hash of data dependency patterns.</param>
<param name="NodeCount">Number of nodes in the semantic graph.</param>
<param name="EdgeCount">Number of edges in the semantic graph.</param>
<param name="CyclomaticComplexity">McCabe cyclomatic complexity.</param>
<param name="ApiCalls">External API/function calls (semantic anchors).</param>
<param name="Algorithm">Algorithm used to generate this fingerprint.</param>
<param name="Metadata">Additional algorithm-specific metadata.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.FunctionName">
<summary>Name of the source function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.Address">
<summary>Start address of the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.GraphHash">
<summary>SHA-256 hash of the canonical semantic graph.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.OperationHash">
<summary>Hash of the operation sequence.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.DataFlowHash">
<summary>Hash of data dependency patterns.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.NodeCount">
<summary>Number of nodes in the semantic graph.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.EdgeCount">
<summary>Number of edges in the semantic graph.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.CyclomaticComplexity">
<summary>McCabe cyclomatic complexity.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.ApiCalls">
<summary>External API/function calls (semantic anchors).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.Algorithm">
<summary>Algorithm used to generate this fingerprint.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.Metadata">
<summary>Additional algorithm-specific metadata.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.GraphHashHex">
<summary>
Gets the graph hash as a hexadecimal string.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.OperationHashHex">
<summary>
Gets the operation hash as a hexadecimal string.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.DataFlowHashHex">
<summary>
Gets the data flow hash as a hexadecimal string.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticFingerprint.HashEquals(StellaOps.BinaryIndex.Semantic.SemanticFingerprint)">
<summary>
Checks if this fingerprint equals another (by hash comparison).
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm">
<summary>
Algorithm used for semantic fingerprint generation.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm.Unknown">
<summary>Unknown algorithm.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm.KsgWeisfeilerLehmanV1">
<summary>Key-Semantics Graph v1 with Weisfeiler-Lehman hashing.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm.WeisfeilerLehman">
<summary>Pure Weisfeiler-Lehman graph hashing.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm.GraphletCounting">
<summary>Graphlet counting-based similarity.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm.RandomWalk">
<summary>Random walk-based fingerprint.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticFingerprintAlgorithm.SimHash">
<summary>SimHash for approximate similarity.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions">
<summary>
Options for semantic fingerprint generation.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions.Default">
<summary>
Default fingerprint generation options.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions.Algorithm">
<summary>
Algorithm to use for fingerprint generation.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions.WlIterations">
<summary>
Number of Weisfeiler-Lehman iterations.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions.IncludeApiCalls">
<summary>
Whether to include API call hashes in the fingerprint.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions.ComputeDataFlowHash">
<summary>
Whether to compute separate data flow hash.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions.HashAlgorithm">
<summary>
Hash algorithm (SHA256, SHA384, SHA512).
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticMatchResult">
<summary>
Result of semantic similarity matching between two functions.
</summary>
<param name="FunctionA">Name of the first function.</param>
<param name="FunctionB">Name of the second function.</param>
<param name="OverallSimilarity">Overall similarity score (0.0 to 1.0).</param>
<param name="GraphSimilarity">Graph structure similarity.</param>
<param name="DataFlowSimilarity">Data flow pattern similarity.</param>
<param name="ApiCallSimilarity">API call pattern similarity.</param>
<param name="Confidence">Confidence level of the match.</param>
<param name="Deltas">Detected differences between functions.</param>
<param name="MatchDetails">Additional match details.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.#ctor(System.String,System.String,System.Decimal,System.Decimal,System.Decimal,System.Decimal,StellaOps.BinaryIndex.Semantic.MatchConfidence,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.MatchDelta},System.Collections.Immutable.ImmutableDictionary{System.String,System.Object})">
<summary>
Result of semantic similarity matching between two functions.
</summary>
<param name="FunctionA">Name of the first function.</param>
<param name="FunctionB">Name of the second function.</param>
<param name="OverallSimilarity">Overall similarity score (0.0 to 1.0).</param>
<param name="GraphSimilarity">Graph structure similarity.</param>
<param name="DataFlowSimilarity">Data flow pattern similarity.</param>
<param name="ApiCallSimilarity">API call pattern similarity.</param>
<param name="Confidence">Confidence level of the match.</param>
<param name="Deltas">Detected differences between functions.</param>
<param name="MatchDetails">Additional match details.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.FunctionA">
<summary>Name of the first function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.FunctionB">
<summary>Name of the second function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.OverallSimilarity">
<summary>Overall similarity score (0.0 to 1.0).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.GraphSimilarity">
<summary>Graph structure similarity.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.DataFlowSimilarity">
<summary>Data flow pattern similarity.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.ApiCallSimilarity">
<summary>API call pattern similarity.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.Confidence">
<summary>Confidence level of the match.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.Deltas">
<summary>Detected differences between functions.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticMatchResult.MatchDetails">
<summary>Additional match details.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.MatchConfidence">
<summary>
Confidence level for a semantic match.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.MatchConfidence.VeryHigh">
<summary>Very high confidence: highly likely the same function.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.MatchConfidence.High">
<summary>High confidence: likely the same function with minor changes.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.MatchConfidence.Medium">
<summary>Medium confidence: possibly related functions.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.MatchConfidence.Low">
<summary>Low confidence: weak similarity detected.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.MatchConfidence.VeryLow">
<summary>Very low confidence: minimal similarity.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.MatchDelta">
<summary>
A detected difference between matched functions.
</summary>
<param name="Type">Type of the delta.</param>
<param name="Description">Human-readable description.</param>
<param name="Impact">Impact on similarity score (0.0 to 1.0).</param>
<param name="LocationA">Location in function A (if applicable).</param>
<param name="LocationB">Location in function B (if applicable).</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.MatchDelta.#ctor(StellaOps.BinaryIndex.Semantic.DeltaType,System.String,System.Decimal,System.String,System.String)">
<summary>
A detected difference between matched functions.
</summary>
<param name="Type">Type of the delta.</param>
<param name="Description">Human-readable description.</param>
<param name="Impact">Impact on similarity score (0.0 to 1.0).</param>
<param name="LocationA">Location in function A (if applicable).</param>
<param name="LocationB">Location in function B (if applicable).</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchDelta.Type">
<summary>Type of the delta.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchDelta.Description">
<summary>Human-readable description.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchDelta.Impact">
<summary>Impact on similarity score (0.0 to 1.0).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchDelta.LocationA">
<summary>Location in function A (if applicable).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchDelta.LocationB">
<summary>Location in function B (if applicable).</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.DeltaType">
<summary>
Type of difference between matched functions.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.Unknown">
<summary>Unknown delta type.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.NodeAdded">
<summary>Node added in target function.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.NodeRemoved">
<summary>Node removed from source function.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.NodeModified">
<summary>Node modified between functions.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.EdgeAdded">
<summary>Edge added in target function.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.EdgeRemoved">
<summary>Edge removed from source function.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.OperationChanged">
<summary>Operation changed (same structure, different operation).</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.ApiCallAdded">
<summary>API call added.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.ApiCallRemoved">
<summary>API call removed.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.ControlFlowChanged">
<summary>Control flow structure changed.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.DataFlowChanged">
<summary>Data flow pattern changed.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.DeltaType.ConstantChanged">
<summary>Constant value changed.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.MatchOptions">
<summary>
Options for semantic matching.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.Default">
<summary>
Default matching options.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.MinSimilarity">
<summary>
Minimum similarity threshold to consider a match.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.GraphWeight">
<summary>
Weight for graph structure similarity.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.DataFlowWeight">
<summary>
Weight for data flow similarity.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.ApiCallWeight">
<summary>
Weight for API call similarity.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.ComputeDeltas">
<summary>
Whether to compute detailed deltas (slower but more informative).
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.MatchOptions.MaxDeltas">
<summary>
Maximum number of deltas to report.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.LiftOptions">
<summary>
Options for lifting instructions to IR.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftOptions.Default">
<summary>
Default lifting options.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftOptions.RecoverCfg">
<summary>
Whether to recover control flow graph.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftOptions.TransformToSsa">
<summary>
Whether to transform to SSA form.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftOptions.SimplifyIr">
<summary>
Whether to simplify IR (constant folding, dead code elimination).
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftOptions.MaxInstructions">
<summary>
Maximum instructions to lift (0 = unlimited).
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.CorpusMatchResult">
<summary>
A corpus match result when searching against a function corpus.
</summary>
<param name="QueryFunction">The query function name.</param>
<param name="MatchedFunction">The matched function from corpus.</param>
<param name="MatchedLibrary">Library containing the matched function.</param>
<param name="MatchedVersion">Library version.</param>
<param name="Similarity">Similarity score.</param>
<param name="Confidence">Match confidence.</param>
<param name="Rank">Rank in result set.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.#ctor(System.String,System.String,System.String,System.String,System.Decimal,StellaOps.BinaryIndex.Semantic.MatchConfidence,System.Int32)">
<summary>
A corpus match result when searching against a function corpus.
</summary>
<param name="QueryFunction">The query function name.</param>
<param name="MatchedFunction">The matched function from corpus.</param>
<param name="MatchedLibrary">Library containing the matched function.</param>
<param name="MatchedVersion">Library version.</param>
<param name="Similarity">Similarity score.</param>
<param name="Confidence">Match confidence.</param>
<param name="Rank">Rank in result set.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.QueryFunction">
<summary>The query function name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.MatchedFunction">
<summary>The matched function from corpus.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.MatchedLibrary">
<summary>Library containing the matched function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.MatchedVersion">
<summary>Library version.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.Similarity">
<summary>Similarity score.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.Confidence">
<summary>Match confidence.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CorpusMatchResult.Rank">
<summary>Rank in result set.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.KeySemanticsGraph">
<summary>
A key-semantics graph capturing the semantic structure of a function.
Abstracts away syntactic details to represent computation, data flow, and control flow.
</summary>
<param name="FunctionName">Name of the source function.</param>
<param name="Nodes">Semantic nodes in the graph.</param>
<param name="Edges">Semantic edges connecting nodes.</param>
<param name="Properties">Computed graph properties.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.KeySemanticsGraph.#ctor(System.String,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SemanticNode},System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SemanticEdge},StellaOps.BinaryIndex.Semantic.GraphProperties)">
<summary>
A key-semantics graph capturing the semantic structure of a function.
Abstracts away syntactic details to represent computation, data flow, and control flow.
</summary>
<param name="FunctionName">Name of the source function.</param>
<param name="Nodes">Semantic nodes in the graph.</param>
<param name="Edges">Semantic edges connecting nodes.</param>
<param name="Properties">Computed graph properties.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.KeySemanticsGraph.FunctionName">
<summary>Name of the source function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.KeySemanticsGraph.Nodes">
<summary>Semantic nodes in the graph.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.KeySemanticsGraph.Edges">
<summary>Semantic edges connecting nodes.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.KeySemanticsGraph.Properties">
<summary>Computed graph properties.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticNode">
<summary>
A node in the key-semantics graph representing a semantic operation.
</summary>
<param name="Id">Unique node ID within the graph.</param>
<param name="Type">Node type classification.</param>
<param name="Operation">Operation name (e.g., add, mul, cmp, call).</param>
<param name="Operands">Operand descriptors (normalized).</param>
<param name="Attributes">Additional attributes for matching.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticNode.#ctor(System.Int32,StellaOps.BinaryIndex.Semantic.SemanticNodeType,System.String,System.Collections.Immutable.ImmutableArray{System.String},System.Collections.Immutable.ImmutableDictionary{System.String,System.String})">
<summary>
A node in the key-semantics graph representing a semantic operation.
</summary>
<param name="Id">Unique node ID within the graph.</param>
<param name="Type">Node type classification.</param>
<param name="Operation">Operation name (e.g., add, mul, cmp, call).</param>
<param name="Operands">Operand descriptors (normalized).</param>
<param name="Attributes">Additional attributes for matching.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticNode.Id">
<summary>Unique node ID within the graph.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticNode.Type">
<summary>Node type classification.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticNode.Operation">
<summary>Operation name (e.g., add, mul, cmp, call).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticNode.Operands">
<summary>Operand descriptors (normalized).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticNode.Attributes">
<summary>Additional attributes for matching.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticNodeType">
<summary>
Type of semantic node.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Unknown">
<summary>Unknown node type.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Compute">
<summary>Computation: arithmetic, logic, comparison operations.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Load">
<summary>Memory load operation.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Store">
<summary>Memory store operation.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Branch">
<summary>Conditional branch.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Call">
<summary>Function/procedure call.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Return">
<summary>Function return.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Phi">
<summary>PHI node (SSA merge point).</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Constant">
<summary>Constant value.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Parameter">
<summary>Input parameter.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Address">
<summary>Address computation.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.Cast">
<summary>Type cast/conversion.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.StringRef">
<summary>String reference.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticNodeType.ExternalRef">
<summary>External symbol reference.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticEdge">
<summary>
An edge in the key-semantics graph.
</summary>
<param name="SourceId">Source node ID.</param>
<param name="TargetId">Target node ID.</param>
<param name="Type">Edge type.</param>
<param name="Label">Optional edge label for additional context.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticEdge.#ctor(System.Int32,System.Int32,StellaOps.BinaryIndex.Semantic.SemanticEdgeType,System.String)">
<summary>
An edge in the key-semantics graph.
</summary>
<param name="SourceId">Source node ID.</param>
<param name="TargetId">Target node ID.</param>
<param name="Type">Edge type.</param>
<param name="Label">Optional edge label for additional context.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticEdge.SourceId">
<summary>Source node ID.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticEdge.TargetId">
<summary>Target node ID.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticEdge.Type">
<summary>Edge type.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticEdge.Label">
<summary>Optional edge label for additional context.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticEdgeType">
<summary>
Type of semantic edge.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.Unknown">
<summary>Unknown edge type.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.DataDependency">
<summary>Data dependency: source produces value consumed by target.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.ControlDependency">
<summary>Control dependency: target execution depends on source branch.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.MemoryDependency">
<summary>Memory dependency: target depends on memory state from source.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.CallEdge">
<summary>Call edge: source calls target function.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.ReturnEdge">
<summary>Return edge: source returns to target.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.AddressOf">
<summary>Address-of: source computes address used by target.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SemanticEdgeType.PhiInput">
<summary>Phi input: source is an input to a PHI node.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.GraphProperties">
<summary>
Computed properties of a semantic graph.
</summary>
<param name="NodeCount">Total number of nodes.</param>
<param name="EdgeCount">Total number of edges.</param>
<param name="CyclomaticComplexity">McCabe cyclomatic complexity.</param>
<param name="MaxDepth">Maximum path depth.</param>
<param name="NodeTypeCounts">Count of each node type.</param>
<param name="EdgeTypeCounts">Count of each edge type.</param>
<param name="LoopCount">Number of detected loops.</param>
<param name="BranchCount">Number of branch points.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.GraphProperties.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Collections.Immutable.ImmutableDictionary{StellaOps.BinaryIndex.Semantic.SemanticNodeType,System.Int32},System.Collections.Immutable.ImmutableDictionary{StellaOps.BinaryIndex.Semantic.SemanticEdgeType,System.Int32},System.Int32,System.Int32)">
<summary>
Computed properties of a semantic graph.
</summary>
<param name="NodeCount">Total number of nodes.</param>
<param name="EdgeCount">Total number of edges.</param>
<param name="CyclomaticComplexity">McCabe cyclomatic complexity.</param>
<param name="MaxDepth">Maximum path depth.</param>
<param name="NodeTypeCounts">Count of each node type.</param>
<param name="EdgeTypeCounts">Count of each edge type.</param>
<param name="LoopCount">Number of detected loops.</param>
<param name="BranchCount">Number of branch points.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.NodeCount">
<summary>Total number of nodes.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.EdgeCount">
<summary>Total number of edges.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.CyclomaticComplexity">
<summary>McCabe cyclomatic complexity.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.MaxDepth">
<summary>Maximum path depth.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.NodeTypeCounts">
<summary>Count of each node type.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.EdgeTypeCounts">
<summary>Count of each edge type.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.LoopCount">
<summary>Number of detected loops.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphProperties.BranchCount">
<summary>Number of branch points.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions">
<summary>
Options for semantic graph extraction.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.Default">
<summary>
Default extraction options.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.IncludeConstants">
<summary>
Whether to include constant nodes.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.IncludeNops">
<summary>
Whether to include NOP operations.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.ExtractControlDependencies">
<summary>
Whether to extract control dependencies.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.ExtractMemoryDependencies">
<summary>
Whether to extract memory dependencies.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.MaxNodes">
<summary>
Maximum nodes before truncation (0 = unlimited).
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.NormalizeOperations">
<summary>
Whether to normalize operation names to a canonical form.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphExtractionOptions.MergeConstants">
<summary>
Whether to merge equivalent constant nodes.
</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.CanonicalGraph">
<summary>
Result of graph canonicalization.
</summary>
<param name="Graph">The canonicalized graph.</param>
<param name="NodeMapping">Mapping from original node IDs to canonical IDs.</param>
<param name="CanonicalLabels">Canonical labels for each node.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.CanonicalGraph.#ctor(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.Collections.Immutable.ImmutableDictionary{System.Int32,System.Int32},System.Collections.Immutable.ImmutableArray{System.String})">
<summary>
Result of graph canonicalization.
</summary>
<param name="Graph">The canonicalized graph.</param>
<param name="NodeMapping">Mapping from original node IDs to canonical IDs.</param>
<param name="CanonicalLabels">Canonical labels for each node.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CanonicalGraph.Graph">
<summary>The canonicalized graph.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CanonicalGraph.NodeMapping">
<summary>Mapping from original node IDs to canonical IDs.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CanonicalGraph.CanonicalLabels">
<summary>Canonical labels for each node.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.GraphPattern">
<summary>
A subgraph pattern for matching.
</summary>
<param name="PatternId">Unique pattern identifier.</param>
<param name="Name">Pattern name (e.g., "loop_counter", "memcpy_pattern").</param>
<param name="Nodes">Pattern nodes.</param>
<param name="Edges">Pattern edges.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.GraphPattern.#ctor(System.String,System.String,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.PatternNode},System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.PatternEdge})">
<summary>
A subgraph pattern for matching.
</summary>
<param name="PatternId">Unique pattern identifier.</param>
<param name="Name">Pattern name (e.g., "loop_counter", "memcpy_pattern").</param>
<param name="Nodes">Pattern nodes.</param>
<param name="Edges">Pattern edges.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphPattern.PatternId">
<summary>Unique pattern identifier.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphPattern.Name">
<summary>Pattern name (e.g., "loop_counter", "memcpy_pattern").</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphPattern.Nodes">
<summary>Pattern nodes.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.GraphPattern.Edges">
<summary>Pattern edges.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.PatternNode">
<summary>
A node in a graph pattern (with wildcards).
</summary>
<param name="Id">Node ID within pattern.</param>
<param name="TypeConstraint">Required node type (null = any).</param>
<param name="OperationPattern">Operation pattern (null = any, supports wildcards).</param>
<param name="IsCapture">Whether this node should be captured in match results.</param>
<param name="CaptureName">Name for captured node.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.PatternNode.#ctor(System.Int32,System.Nullable{StellaOps.BinaryIndex.Semantic.SemanticNodeType},System.String,System.Boolean,System.String)">
<summary>
A node in a graph pattern (with wildcards).
</summary>
<param name="Id">Node ID within pattern.</param>
<param name="TypeConstraint">Required node type (null = any).</param>
<param name="OperationPattern">Operation pattern (null = any, supports wildcards).</param>
<param name="IsCapture">Whether this node should be captured in match results.</param>
<param name="CaptureName">Name for captured node.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternNode.Id">
<summary>Node ID within pattern.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternNode.TypeConstraint">
<summary>Required node type (null = any).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternNode.OperationPattern">
<summary>Operation pattern (null = any, supports wildcards).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternNode.IsCapture">
<summary>Whether this node should be captured in match results.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternNode.CaptureName">
<summary>Name for captured node.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.PatternEdge">
<summary>
An edge in a graph pattern.
</summary>
<param name="SourceId">Source node ID in pattern.</param>
<param name="TargetId">Target node ID in pattern.</param>
<param name="TypeConstraint">Required edge type (null = any).</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.PatternEdge.#ctor(System.Int32,System.Int32,System.Nullable{StellaOps.BinaryIndex.Semantic.SemanticEdgeType})">
<summary>
An edge in a graph pattern.
</summary>
<param name="SourceId">Source node ID in pattern.</param>
<param name="TargetId">Target node ID in pattern.</param>
<param name="TypeConstraint">Required edge type (null = any).</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternEdge.SourceId">
<summary>Source node ID in pattern.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternEdge.TargetId">
<summary>Target node ID in pattern.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternEdge.TypeConstraint">
<summary>Required edge type (null = any).</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.PatternMatchResult">
<summary>
Result of pattern matching against a graph.
</summary>
<param name="Pattern">The matched pattern.</param>
<param name="Matches">All matches found.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.PatternMatchResult.#ctor(StellaOps.BinaryIndex.Semantic.GraphPattern,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.PatternMatch})">
<summary>
Result of pattern matching against a graph.
</summary>
<param name="Pattern">The matched pattern.</param>
<param name="Matches">All matches found.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternMatchResult.Pattern">
<summary>The matched pattern.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternMatchResult.Matches">
<summary>All matches found.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.PatternMatch">
<summary>
A single pattern match instance.
</summary>
<param name="NodeBindings">Mapping from pattern node IDs to graph node IDs.</param>
<param name="Captures">Named captures from the match.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.PatternMatch.#ctor(System.Collections.Immutable.ImmutableDictionary{System.Int32,System.Int32},System.Collections.Immutable.ImmutableDictionary{System.String,StellaOps.BinaryIndex.Semantic.SemanticNode})">
<summary>
A single pattern match instance.
</summary>
<param name="NodeBindings">Mapping from pattern node IDs to graph node IDs.</param>
<param name="Captures">Named captures from the match.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternMatch.NodeBindings">
<summary>Mapping from pattern node IDs to graph node IDs.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.PatternMatch.Captures">
<summary>Named captures from the match.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.LiftedFunction">
<summary>
A function lifted to intermediate representation.
</summary>
<param name="Name">Function name (may be empty for unnamed functions).</param>
<param name="Address">Start address of the function.</param>
<param name="Statements">IR statements comprising the function body.</param>
<param name="BasicBlocks">Basic blocks in the function.</param>
<param name="Cfg">Control flow graph.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.LiftedFunction.#ctor(System.String,System.UInt64,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.IrStatement},System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.IrBasicBlock},StellaOps.BinaryIndex.Semantic.ControlFlowGraph)">
<summary>
A function lifted to intermediate representation.
</summary>
<param name="Name">Function name (may be empty for unnamed functions).</param>
<param name="Address">Start address of the function.</param>
<param name="Statements">IR statements comprising the function body.</param>
<param name="BasicBlocks">Basic blocks in the function.</param>
<param name="Cfg">Control flow graph.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftedFunction.Name">
<summary>Function name (may be empty for unnamed functions).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftedFunction.Address">
<summary>Start address of the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftedFunction.Statements">
<summary>IR statements comprising the function body.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftedFunction.BasicBlocks">
<summary>Basic blocks in the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.LiftedFunction.Cfg">
<summary>Control flow graph.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SsaFunction">
<summary>
A function transformed to Static Single Assignment (SSA) form.
</summary>
<param name="Name">Function name.</param>
<param name="Address">Start address of the function.</param>
<param name="Statements">SSA statements comprising the function body.</param>
<param name="BasicBlocks">SSA basic blocks in the function.</param>
<param name="DefUse">Definition-use chains for dataflow analysis.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SsaFunction.#ctor(System.String,System.UInt64,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SsaStatement},System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SsaBasicBlock},StellaOps.BinaryIndex.Semantic.DefUseChains)">
<summary>
A function transformed to Static Single Assignment (SSA) form.
</summary>
<param name="Name">Function name.</param>
<param name="Address">Start address of the function.</param>
<param name="Statements">SSA statements comprising the function body.</param>
<param name="BasicBlocks">SSA basic blocks in the function.</param>
<param name="DefUse">Definition-use chains for dataflow analysis.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaFunction.Name">
<summary>Function name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaFunction.Address">
<summary>Start address of the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaFunction.Statements">
<summary>SSA statements comprising the function body.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaFunction.BasicBlocks">
<summary>SSA basic blocks in the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaFunction.DefUse">
<summary>Definition-use chains for dataflow analysis.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IrStatement">
<summary>
An intermediate representation statement.
</summary>
<param name="Id">Unique statement ID within the function.</param>
<param name="Address">Original instruction address.</param>
<param name="Kind">Statement kind.</param>
<param name="Operation">Operation name (e.g., add, sub, load).</param>
<param name="Destination">Destination operand (if any).</param>
<param name="Sources">Source operands.</param>
<param name="Metadata">Additional metadata.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrStatement.#ctor(System.Int32,System.UInt64,StellaOps.BinaryIndex.Semantic.IrStatementKind,System.String,StellaOps.BinaryIndex.Semantic.IrOperand,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.IrOperand},System.Collections.Immutable.ImmutableDictionary{System.String,System.Object})">
<summary>
An intermediate representation statement.
</summary>
<param name="Id">Unique statement ID within the function.</param>
<param name="Address">Original instruction address.</param>
<param name="Kind">Statement kind.</param>
<param name="Operation">Operation name (e.g., add, sub, load).</param>
<param name="Destination">Destination operand (if any).</param>
<param name="Sources">Source operands.</param>
<param name="Metadata">Additional metadata.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Id">
<summary>Unique statement ID within the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Address">
<summary>Original instruction address.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Kind">
<summary>Statement kind.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Operation">
<summary>Operation name (e.g., add, sub, load).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Destination">
<summary>Destination operand (if any).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Sources">
<summary>Source operands.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrStatement.Metadata">
<summary>Additional metadata.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IrStatementKind">
<summary>
Kind of IR statement.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Unknown">
<summary>Unknown statement kind.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Assign">
<summary>Assignment: dest = expr.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.BinaryOp">
<summary>Binary operation: dest = src1 op src2.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.UnaryOp">
<summary>Unary operation: dest = op src.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Load">
<summary>Memory load: dest = [addr].</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Store">
<summary>Memory store: [addr] = src.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Jump">
<summary>Unconditional jump.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.ConditionalJump">
<summary>Conditional jump.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Call">
<summary>Function call.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Return">
<summary>Function return.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Nop">
<summary>No operation.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Phi">
<summary>PHI node (for SSA form).</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Syscall">
<summary>System call.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Interrupt">
<summary>Interrupt.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Cast">
<summary>Cast/type conversion.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Compare">
<summary>Comparison.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrStatementKind.Extend">
<summary>Sign/zero extension.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IrOperand">
<summary>
An operand in an IR statement.
</summary>
<param name="Kind">Operand kind.</param>
<param name="Name">Name (for temporaries and registers).</param>
<param name="Value">Constant value (for immediates).</param>
<param name="BitSize">Size in bits.</param>
<param name="IsMemory">Whether this is a memory reference.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrOperand.#ctor(StellaOps.BinaryIndex.Semantic.IrOperandKind,System.String,System.Nullable{System.Int64},System.Int32,System.Boolean)">
<summary>
An operand in an IR statement.
</summary>
<param name="Kind">Operand kind.</param>
<param name="Name">Name (for temporaries and registers).</param>
<param name="Value">Constant value (for immediates).</param>
<param name="BitSize">Size in bits.</param>
<param name="IsMemory">Whether this is a memory reference.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrOperand.Kind">
<summary>Operand kind.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrOperand.Name">
<summary>Name (for temporaries and registers).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrOperand.Value">
<summary>Constant value (for immediates).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrOperand.BitSize">
<summary>Size in bits.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrOperand.IsMemory">
<summary>Whether this is a memory reference.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IrOperandKind">
<summary>
Kind of IR operand.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Unknown">
<summary>Unknown operand kind.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Register">
<summary>CPU register.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Temporary">
<summary>IR temporary variable.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Immediate">
<summary>Immediate constant value.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Memory">
<summary>Memory address.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.ProgramCounter">
<summary>Program counter / instruction pointer.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.StackPointer">
<summary>Stack pointer.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.FramePointer">
<summary>Base pointer / frame pointer.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Flags">
<summary>Flags/condition register.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Undefined">
<summary>Undefined value (for SSA).</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.IrOperandKind.Label">
<summary>Label / address reference.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.IrBasicBlock">
<summary>
A basic block in the intermediate representation.
</summary>
<param name="Id">Unique block ID within the function.</param>
<param name="Label">Block label/name.</param>
<param name="StartAddress">Start address of the block.</param>
<param name="EndAddress">End address of the block (exclusive).</param>
<param name="StatementIds">IDs of statements in this block.</param>
<param name="Predecessors">IDs of predecessor blocks.</param>
<param name="Successors">IDs of successor blocks.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.IrBasicBlock.#ctor(System.Int32,System.String,System.UInt64,System.UInt64,System.Collections.Immutable.ImmutableArray{System.Int32},System.Collections.Immutable.ImmutableArray{System.Int32},System.Collections.Immutable.ImmutableArray{System.Int32})">
<summary>
A basic block in the intermediate representation.
</summary>
<param name="Id">Unique block ID within the function.</param>
<param name="Label">Block label/name.</param>
<param name="StartAddress">Start address of the block.</param>
<param name="EndAddress">End address of the block (exclusive).</param>
<param name="StatementIds">IDs of statements in this block.</param>
<param name="Predecessors">IDs of predecessor blocks.</param>
<param name="Successors">IDs of successor blocks.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.Id">
<summary>Unique block ID within the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.Label">
<summary>Block label/name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.StartAddress">
<summary>Start address of the block.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.EndAddress">
<summary>End address of the block (exclusive).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.StatementIds">
<summary>IDs of statements in this block.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.Predecessors">
<summary>IDs of predecessor blocks.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.IrBasicBlock.Successors">
<summary>IDs of successor blocks.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.ControlFlowGraph">
<summary>
Control flow graph for a function.
</summary>
<param name="EntryBlockId">ID of the entry block.</param>
<param name="ExitBlockIds">IDs of exit blocks.</param>
<param name="Edges">CFG edges.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ControlFlowGraph.#ctor(System.Int32,System.Collections.Immutable.ImmutableArray{System.Int32},System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.CfgEdge})">
<summary>
Control flow graph for a function.
</summary>
<param name="EntryBlockId">ID of the entry block.</param>
<param name="ExitBlockIds">IDs of exit blocks.</param>
<param name="Edges">CFG edges.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.ControlFlowGraph.EntryBlockId">
<summary>ID of the entry block.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.ControlFlowGraph.ExitBlockIds">
<summary>IDs of exit blocks.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.ControlFlowGraph.Edges">
<summary>CFG edges.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.CfgEdge">
<summary>
An edge in the control flow graph.
</summary>
<param name="SourceBlockId">Source block ID.</param>
<param name="TargetBlockId">Target block ID.</param>
<param name="Kind">Edge kind.</param>
<param name="Condition">Condition for conditional edges.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.CfgEdge.#ctor(System.Int32,System.Int32,StellaOps.BinaryIndex.Semantic.CfgEdgeKind,System.String)">
<summary>
An edge in the control flow graph.
</summary>
<param name="SourceBlockId">Source block ID.</param>
<param name="TargetBlockId">Target block ID.</param>
<param name="Kind">Edge kind.</param>
<param name="Condition">Condition for conditional edges.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CfgEdge.SourceBlockId">
<summary>Source block ID.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CfgEdge.TargetBlockId">
<summary>Target block ID.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CfgEdge.Kind">
<summary>Edge kind.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.CfgEdge.Condition">
<summary>Condition for conditional edges.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.CfgEdgeKind">
<summary>
Kind of CFG edge.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.FallThrough">
<summary>Sequential fall-through.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.Jump">
<summary>Unconditional jump.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.ConditionalTrue">
<summary>Conditional branch taken.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.ConditionalFalse">
<summary>Conditional branch not taken.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.Call">
<summary>Function call edge.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.Return">
<summary>Function return edge.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.Indirect">
<summary>Indirect jump (computed target).</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.CfgEdgeKind.Exception">
<summary>Exception/interrupt edge.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SsaStatement">
<summary>
An SSA statement with versioned variables.
</summary>
<param name="Id">Unique statement ID within the function.</param>
<param name="Address">Original instruction address.</param>
<param name="Kind">Statement kind.</param>
<param name="Operation">Operation name.</param>
<param name="Destination">Destination SSA variable (if any).</param>
<param name="Sources">Source SSA variables.</param>
<param name="PhiSources">For PHI nodes: mapping from predecessor block to variable version.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SsaStatement.#ctor(System.Int32,System.UInt64,StellaOps.BinaryIndex.Semantic.IrStatementKind,System.String,StellaOps.BinaryIndex.Semantic.SsaVariable,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SsaVariable},System.Collections.Immutable.ImmutableDictionary{System.Int32,StellaOps.BinaryIndex.Semantic.SsaVariable})">
<summary>
An SSA statement with versioned variables.
</summary>
<param name="Id">Unique statement ID within the function.</param>
<param name="Address">Original instruction address.</param>
<param name="Kind">Statement kind.</param>
<param name="Operation">Operation name.</param>
<param name="Destination">Destination SSA variable (if any).</param>
<param name="Sources">Source SSA variables.</param>
<param name="PhiSources">For PHI nodes: mapping from predecessor block to variable version.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.Id">
<summary>Unique statement ID within the function.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.Address">
<summary>Original instruction address.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.Kind">
<summary>Statement kind.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.Operation">
<summary>Operation name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.Destination">
<summary>Destination SSA variable (if any).</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.Sources">
<summary>Source SSA variables.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaStatement.PhiSources">
<summary>For PHI nodes: mapping from predecessor block to variable version.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SsaVariable">
<summary>
An SSA variable (versioned).
</summary>
<param name="BaseName">Original variable/register name.</param>
<param name="Version">SSA version number.</param>
<param name="BitSize">Size in bits.</param>
<param name="Kind">Variable kind.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SsaVariable.#ctor(System.String,System.Int32,System.Int32,StellaOps.BinaryIndex.Semantic.SsaVariableKind)">
<summary>
An SSA variable (versioned).
</summary>
<param name="BaseName">Original variable/register name.</param>
<param name="Version">SSA version number.</param>
<param name="BitSize">Size in bits.</param>
<param name="Kind">Variable kind.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaVariable.BaseName">
<summary>Original variable/register name.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaVariable.Version">
<summary>SSA version number.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaVariable.BitSize">
<summary>Size in bits.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaVariable.Kind">
<summary>Variable kind.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SsaVariableKind">
<summary>
Kind of SSA variable.
</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SsaVariableKind.Register">
<summary>CPU register.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SsaVariableKind.Temporary">
<summary>IR temporary.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SsaVariableKind.Memory">
<summary>Memory location.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SsaVariableKind.Constant">
<summary>Immediate constant.</summary>
</member>
<member name="F:StellaOps.BinaryIndex.Semantic.SsaVariableKind.Phi">
<summary>PHI result.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SsaBasicBlock">
<summary>
An SSA basic block.
</summary>
<param name="Id">Unique block ID.</param>
<param name="Label">Block label.</param>
<param name="PhiNodes">PHI nodes at block entry.</param>
<param name="Statements">Non-PHI statements.</param>
<param name="Predecessors">Predecessor block IDs.</param>
<param name="Successors">Successor block IDs.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.#ctor(System.Int32,System.String,System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SsaStatement},System.Collections.Immutable.ImmutableArray{StellaOps.BinaryIndex.Semantic.SsaStatement},System.Collections.Immutable.ImmutableArray{System.Int32},System.Collections.Immutable.ImmutableArray{System.Int32})">
<summary>
An SSA basic block.
</summary>
<param name="Id">Unique block ID.</param>
<param name="Label">Block label.</param>
<param name="PhiNodes">PHI nodes at block entry.</param>
<param name="Statements">Non-PHI statements.</param>
<param name="Predecessors">Predecessor block IDs.</param>
<param name="Successors">Successor block IDs.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.Id">
<summary>Unique block ID.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.Label">
<summary>Block label.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.PhiNodes">
<summary>PHI nodes at block entry.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.Statements">
<summary>Non-PHI statements.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.Predecessors">
<summary>Predecessor block IDs.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SsaBasicBlock.Successors">
<summary>Successor block IDs.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.DefUseChains">
<summary>
Definition-use chains for SSA form.
</summary>
<param name="Definitions">Maps variable to its defining statement.</param>
<param name="Uses">Maps variable to statements that use it.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.DefUseChains.#ctor(System.Collections.Immutable.ImmutableDictionary{StellaOps.BinaryIndex.Semantic.SsaVariable,System.Int32},System.Collections.Immutable.ImmutableDictionary{StellaOps.BinaryIndex.Semantic.SsaVariable,System.Collections.Immutable.ImmutableHashSet{System.Int32}})">
<summary>
Definition-use chains for SSA form.
</summary>
<param name="Definitions">Maps variable to its defining statement.</param>
<param name="Uses">Maps variable to statements that use it.</param>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.DefUseChains.Definitions">
<summary>Maps variable to its defining statement.</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.DefUseChains.Uses">
<summary>Maps variable to statements that use it.</summary>
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticFingerprintGenerator">
<summary>
Default implementation of semantic fingerprint generation.
</summary>
</member>
<member name="P:StellaOps.BinaryIndex.Semantic.SemanticFingerprintGenerator.Algorithm">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticFingerprintGenerator.#ctor(Microsoft.Extensions.Logging.ILogger{StellaOps.BinaryIndex.Semantic.SemanticFingerprintGenerator})">
<summary>
Creates a new semantic fingerprint generator.
</summary>
<param name="logger">Logger instance.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticFingerprintGenerator.GenerateAsync(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.UInt64,StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticFingerprintGenerator.GenerateFromFunctionAsync(StellaOps.BinaryIndex.Semantic.LiftedFunction,StellaOps.BinaryIndex.Semantic.ISemanticGraphExtractor,StellaOps.BinaryIndex.Semantic.SemanticFingerprintOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticGraphExtractor">
<summary>
Default implementation of semantic graph extraction from lifted IR.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticGraphExtractor.#ctor(Microsoft.Extensions.Logging.ILogger{StellaOps.BinaryIndex.Semantic.SemanticGraphExtractor})">
<summary>
Creates a new semantic graph extractor.
</summary>
<param name="logger">Logger instance.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticGraphExtractor.ExtractGraphAsync(StellaOps.BinaryIndex.Semantic.LiftedFunction,StellaOps.BinaryIndex.Semantic.GraphExtractionOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticGraphExtractor.ExtractGraphFromSsaAsync(StellaOps.BinaryIndex.Semantic.SsaFunction,StellaOps.BinaryIndex.Semantic.GraphExtractionOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticGraphExtractor.CanonicalizeAsync(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.SemanticMatcher">
<summary>
Default implementation of semantic similarity matching.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticMatcher.#ctor(Microsoft.Extensions.Logging.ILogger{StellaOps.BinaryIndex.Semantic.SemanticMatcher})">
<summary>
Creates a new semantic matcher.
</summary>
<param name="logger">Logger instance.</param>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticMatcher.MatchAsync(StellaOps.BinaryIndex.Semantic.SemanticFingerprint,StellaOps.BinaryIndex.Semantic.SemanticFingerprint,StellaOps.BinaryIndex.Semantic.MatchOptions,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticMatcher.FindMatchesAsync(StellaOps.BinaryIndex.Semantic.SemanticFingerprint,System.Collections.Generic.IAsyncEnumerable{StellaOps.BinaryIndex.Semantic.SemanticFingerprint},System.Decimal,System.Int32,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.SemanticMatcher.ComputeGraphSimilarityAsync(StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,StellaOps.BinaryIndex.Semantic.KeySemanticsGraph,System.Threading.CancellationToken)">
<inheritdoc />
</member>
<member name="T:StellaOps.BinaryIndex.Semantic.ServiceCollectionExtensions">
<summary>
Extension methods for registering semantic analysis services.
</summary>
</member>
<member name="M:StellaOps.BinaryIndex.Semantic.ServiceCollectionExtensions.AddBinaryIndexSemantic(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
<summary>
Adds semantic analysis services to the service collection.
</summary>
<param name="services">The service collection.</param>
<returns>The service collection for chaining.</returns>
</member>
</members>
</doc>