semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,27 @@
# Runtime-to-Static Graph Merge Algorithm
## Module
Scanner
## Status
IMPLEMENTED
## Description
Merges runtime observations with static call graphs, marking existing edges as "observed" with confidence boost to 1.0, and adding new edges for dynamic dispatch paths discovered at runtime.
## Implementation Details
- **Runtime-Static Merger**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Runtime/RuntimeStaticMerger.cs` - `RuntimeStaticMerger` merges runtime observations with static analysis graphs, boosting confidence of edges confirmed at runtime to 1.0 and adding new edges for dynamic dispatch paths
- **eBPF Signal Merger**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Runtime/EbpfSignalMerger.cs` - `EbpfSignalMerger` merges eBPF-sourced runtime signals into the static graph
- **Observed Path Slice Generator**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Reachability/Slices/ObservedPathSliceGenerator.cs` - Generates reachability slices from runtime-observed paths merged into static analysis
- **Trace Retention**:
- `src/Scanner/__Libraries/StellaOps.Scanner.Runtime/Retention/TraceRetentionManager.cs` - `TraceRetentionManager` manages retention of runtime traces used in the merge process
## E2E Test Plan
- [ ] Merge a runtime observation set with a static call graph and verify existing edges that were observed at runtime have confidence boosted to 1.0
- [ ] Verify new edges are added for dynamic dispatch paths discovered at runtime (e.g., reflection, virtual method dispatch) that are not present in the static graph
- [ ] Verify the merged graph retains all static-only edges with their original confidence scores
- [ ] Verify the merge algorithm handles conflicting information between static and runtime analysis (e.g., static says unreachable, runtime says observed)
- [ ] Verify eBPF-sourced signals are correctly merged into the graph via `EbpfSignalMerger`