Add five statistical test plugins for binary randomness analysis #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Extends Pattern Analyzer's statistical testing capabilities with five new plugins for detecting non-randomness in binary data.
New Plugins
chi_square) - Byte distribution uniformity via chi-square goodness-of-fit (255 DoF). Batch + streaming.kolmogorov_smirnov) - CDF-based non-parametric uniformity test. Batch only.gap) - Bit pattern occurrence spacing via geometric distribution model. Configurable patterns with automatic bin merging.poker) - Fixed-width bit segment pattern distribution (2^m patterns). Configurable hand size (2-8 bits). Batch + streaming.permutation) - Byte block ordering analysis (k! permutations). Lehmer code indexing for efficiency. Configurable block size (2-5 bytes).Implementation
All plugins:
TestPluginbase classTestResultwith p-values bounded to [0.0, 1.0]alphaparameter for significance levelStreaming implementations (Chi-Square, Poker) use stateful accumulators with
update()/finalize()pattern.Usage
Testing
112 comprehensive test cases covering:
All tests pass successfully.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.