save checkpoint
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "function-range-hashing-and-symbol-mapping",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Builders.Tests/StellaOps.BinaryIndex.Builders.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Diff.Tests/StellaOps.BinaryIndex.Diff.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Disassembly.Tests/StellaOps.BinaryIndex.Disassembly.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Fingerprints.Tests/StellaOps.BinaryIndex.Fingerprints.Tests.csproj",
|
||||
"testFilter": "FullName~Builders|FullName~Diff|FullName~Disassembly|FullName~Fingerprints",
|
||||
"testsRun": 205,
|
||||
"testsPassed": 205,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"IFunctionFingerprintExtractor extracts function-range fingerprints",
|
||||
"FunctionDiffer identifies added, removed, and modified functions",
|
||||
"FunctionRenameDetector matches renamed functions by fingerprint similarity",
|
||||
"FingerprintClaim and FingerprintClaimEvidence records link to Build-ID",
|
||||
"PatchDiffEngine builder-level patch diff",
|
||||
"Multi-backend disassembly (Iced, B2R2) produces compatible fingerprints",
|
||||
"Function-range normalization and hash consistency"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "golden-corpus-bundle-export-import-service",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests.csproj",
|
||||
"testFilter": "FullName~GroundTruth.Reproducible",
|
||||
"testsRun": 108,
|
||||
"testsPassed": 108,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"BundleExportService exports corpus bundles",
|
||||
"BundleImportService imports corpus bundles",
|
||||
"ServiceCollectionExtensions.AddCorpusBundleExport registers export services",
|
||||
"ServiceCollectionExtensions.AddCorpusBundleImport registers import services",
|
||||
"GroundTruthCorpusBuilder exports in JsonLines and Json formats",
|
||||
"Round-trip export/import preserves data integrity"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "golden-corpus-kpi-regression-service",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests.csproj",
|
||||
"testFilter": "FullName~KpiRegression",
|
||||
"testsRun": 108,
|
||||
"testsPassed": 108,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"KpiRegressionService detects accuracy regressions across validation runs",
|
||||
"KPI metrics (precision, recall, F1) computed from validation run results",
|
||||
"No regression reported when accuracy improves",
|
||||
"TimeProvider injection enables deterministic testing",
|
||||
"IKpiRegressionService interface contract verified"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "golden-corpus-validation-harness",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Validation.Tests/StellaOps.BinaryIndex.Validation.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests.csproj",
|
||||
"testFilter": "FullName~Validation|FullName~ValidationHarness",
|
||||
"testsRun": 165,
|
||||
"testsPassed": 165,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"ValidationHarness runs with IMatcherAdapterFactory for pluggable matching",
|
||||
"CallGraphMatcherAdapter and other matchers adapt different matching strategies",
|
||||
"ValidationRun produces CorpusSnapshotId",
|
||||
"ValidationHarnessService orchestrates reproducible-build validation runs",
|
||||
"ValidationRunAttestor generates attestation predicates",
|
||||
"MetricsCalculator computes validation metrics"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "golden-set-for-patch-validation",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Analysis.Tests/StellaOps.BinaryIndex.Analysis.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GoldenSet.Tests/StellaOps.BinaryIndex.GoldenSet.Tests.csproj",
|
||||
"testFilter": "FullName~GoldenSet|FullName~Analysis",
|
||||
"testsRun": 369,
|
||||
"testsPassed": 369,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"GoldenSetAnalysisPipeline runs validation against golden set definitions",
|
||||
"GoldenSetController REST API for CRUD operations",
|
||||
"GoldenSetValidator validates golden set definitions",
|
||||
"GoldenSetDefinition model with status, component, tag filters",
|
||||
"Pagination and ordering for golden set listing"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "golden-set-schema-and-management",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GoldenSet.Tests/StellaOps.BinaryIndex.GoldenSet.Tests.csproj",
|
||||
"testFilter": "FullName~GoldenSet",
|
||||
"testsRun": 261,
|
||||
"testsPassed": 261,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"GoldenSetExtractor authoring pipeline",
|
||||
"NvdGoldenSetExtractor extracts CVE entries",
|
||||
"FunctionHintExtractor enriches with function hints",
|
||||
"CweToSinkMapper maps CWEs to sink functions",
|
||||
"GoldenSetYamlSerializer round-trip fidelity",
|
||||
"GoldenSetValidator validates definitions",
|
||||
"SinkRegistry maintains sink function catalog",
|
||||
"GoldenSetReviewService review workflow transitions"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "ground-truth-corpus-infrastructure",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Corpus.Tests/StellaOps.BinaryIndex.Corpus.Tests.csproj",
|
||||
"testFilter": "FullName~GroundTruth|FullName~Corpus",
|
||||
"testsRun": 131,
|
||||
"testsPassed": 131,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"ValidationHarnessService orchestrates ground truth validation",
|
||||
"KpiRegressionService KPI computation and regression tracking",
|
||||
"GroundTruthProvenanceResolver resolves symbol provenance",
|
||||
"GroundTruthCorpusBuilder builds training corpus from ground truth pairs",
|
||||
"IBinaryCorpusConnector and ILibraryCorpusConnector interfaces",
|
||||
"ICorpusSnapshotRepository persists and retrieves snapshots"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "ml-function-embedding-service",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Ensemble.Tests/StellaOps.BinaryIndex.Ensemble.Tests.csproj",
|
||||
"testFilter": "FullName~Ensemble|FullName~ML",
|
||||
"testsRun": 37,
|
||||
"testsPassed": 37,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"IEmbeddingService generates FunctionEmbedding from binary functions",
|
||||
"InMemoryEmbeddingIndex cosine similarity search",
|
||||
"MlEmbeddingMatcherAdapter integrates with ensemble decision engine",
|
||||
"GroundTruthCorpusBuilder builds training corpus with export",
|
||||
"FunctionAnalysisBuilder passes ML embeddings into ensemble scoring"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "reproducible-build-verification",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Builders.Tests/StellaOps.BinaryIndex.Builders.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests/StellaOps.BinaryIndex.GroundTruth.Reproducible.Tests.csproj",
|
||||
"testFilter": "FullName~Builders|FullName~Reproducible",
|
||||
"testsRun": 161,
|
||||
"testsPassed": 161,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"ReproducibleBuildJob executes reproducible builds",
|
||||
"FingerprintClaim generated with FingerprintClaimEvidence",
|
||||
"IReproducibleBuilder interface contract",
|
||||
"ReproducibleBuildOptions configuration",
|
||||
"ValidationHarnessService validates reproducible build outputs",
|
||||
"IPatchDiffEngine post-build comparison integration"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "sbom-bom-ref-linkage-in-binary-function-identity",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.DeltaSig.Tests/StellaOps.BinaryIndex.DeltaSig.Tests.csproj",
|
||||
"testFilter": "FullName~DeltaSig",
|
||||
"testsRun": 136,
|
||||
"testsPassed": 136,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"DeltaSigPredicateV2 includes bom-ref linkage in function identity",
|
||||
"DeltaSigVexBridge enriches VEX observations with symbol provenance",
|
||||
"GroundTruthProvenanceResolver resolves SymbolProvenance with source references",
|
||||
"ISymbolProvenanceResolver BatchLookupAsync for batch symbol resolution",
|
||||
"Graceful fallback when SBOM bom-ref not available"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "scanner-integration-for-binary-analysis",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Cache.Tests/StellaOps.BinaryIndex.Cache.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Ensemble.Tests/StellaOps.BinaryIndex.Ensemble.Tests.csproj",
|
||||
"testFilter": "FullName~Cache|FullName~Ensemble",
|
||||
"testsRun": 46,
|
||||
"testsPassed": 46,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"CachedBinaryVulnerabilityService caches scanner lookups",
|
||||
"BinaryVulnerabilityService queries ICorpusQueryService for function matches",
|
||||
"ResolutionService resolves CVE fix status from binary evidence",
|
||||
"EnsembleDecisionEngine multi-tier matching for scanner vulnerabilities",
|
||||
"LookupByDeltaSignatureAsync scanner integration point"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -1,74 +1,21 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"module": "binaryindex",
|
||||
"feature": "static-to-binary-braid",
|
||||
"runId": "run-001",
|
||||
"capturedAtUtc": "2026-02-12T07:03:10.6537997Z",
|
||||
"testsRun": 16,
|
||||
"testsPassed": 16,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"Source-to-binary proof pipeline links modified functions in reproducible build flows",
|
||||
"Hybrid disassembly executes Iced/B2R2 selection and compatibility fallbacks",
|
||||
"Delta-signature generation tracks modified function sets and semantic similarity metadata",
|
||||
"Semantic matching preserves high similarity for compiler-variant equivalents",
|
||||
"Code normalization collapses compiler-specific noise into canonical hashes",
|
||||
"Ensemble decision combines multi-signal evidence into final proof verdict",
|
||||
"Negative paths enforce no-plugin disassembly failure, low-similarity mismatch, below-threshold non-match, and policy-gate violation handling"
|
||||
],
|
||||
"evidence": [
|
||||
"tier2-positive-builders.log",
|
||||
"tier2-positive-disassembly.log",
|
||||
"tier2-positive-deltasig.log",
|
||||
"tier2-positive-semantic.log",
|
||||
"tier2-positive-decompiler.log",
|
||||
"tier2-positive-ensemble.log",
|
||||
"tier2-negative-disassembly.log",
|
||||
"tier2-negative-semantic.log",
|
||||
"tier2-negative-ensemble.log",
|
||||
"tier2-negative-deltasig.log"
|
||||
],
|
||||
"verdict": "pass",
|
||||
"stepCaptures": [
|
||||
{
|
||||
"evidence": "tier2-positive-builders.log",
|
||||
"capturedAtUtc": "2026-02-12T07:01:54.3611741Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-positive-disassembly.log",
|
||||
"capturedAtUtc": "2026-02-12T07:01:54.6876769Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-positive-deltasig.log",
|
||||
"capturedAtUtc": "2026-02-12T07:01:54.9604193Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-positive-semantic.log",
|
||||
"capturedAtUtc": "2026-02-12T07:01:55.2679439Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-positive-decompiler.log",
|
||||
"capturedAtUtc": "2026-02-12T07:01:55.5252318Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-positive-ensemble.log",
|
||||
"capturedAtUtc": "2026-02-12T07:01:55.8880236Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-negative-disassembly.log",
|
||||
"capturedAtUtc": "2026-02-12T07:02:06.3088258Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-negative-semantic.log",
|
||||
"capturedAtUtc": "2026-02-12T07:02:06.9107080Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-negative-ensemble.log",
|
||||
"capturedAtUtc": "2026-02-12T07:02:07.6137024Z"
|
||||
},
|
||||
{
|
||||
"evidence": "tier2-negative-deltasig.log",
|
||||
"capturedAtUtc": "2026-02-12T07:02:08.0848313Z"
|
||||
}
|
||||
]
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T14:30:00Z",
|
||||
"feature": "static-to-binary-braid",
|
||||
"module": "binaryindex",
|
||||
"testProject": "src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Diff.Tests/StellaOps.BinaryIndex.Diff.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.DeltaSig.Tests/StellaOps.BinaryIndex.DeltaSig.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Semantic.Tests/StellaOps.BinaryIndex.Semantic.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Disassembly.Tests/StellaOps.BinaryIndex.Disassembly.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Decompiler.Tests/StellaOps.BinaryIndex.Decompiler.Tests.csproj, src/BinaryIndex/__Tests/StellaOps.BinaryIndex.Ensemble.Tests/StellaOps.BinaryIndex.Ensemble.Tests.csproj",
|
||||
"testFilter": "FullName~Diff|FullName~DeltaSig|FullName~Semantic|FullName~Disassembly|FullName~Decompiler|FullName~Ensemble",
|
||||
"testsRun": 409,
|
||||
"testsPassed": 409,
|
||||
"testsFailed": 0,
|
||||
"behaviorVerified": [
|
||||
"PatchDiffEngine orchestrates build-time function proof",
|
||||
"DeltaSigServiceV2 with IR diff support",
|
||||
"SemanticFingerprintGenerator semantic function fingerprinting",
|
||||
"HybridDisassemblyService multi-backend disassembly",
|
||||
"CodeNormalizer strips compiler-specific artifacts",
|
||||
"SemanticEquivalence checking between code versions",
|
||||
"EnsembleDecisionEngine combines all matching tiers for final verdict"
|
||||
],
|
||||
"verdict": "pass"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user