Event-Driven Code Verification Using Randomized Path Sampling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional model checking algorithms are inefficient in verifying the reliability, performance, and security of event-driven applications in SDN networks due to their inability to infer anomalous behavior, excessive memory requirements, and inability to assess soft real-time properties, especially when dealing with long input sequences and recursive backtracking.
Innovation Solution
A system that executes event-driven applications along multiple execution paths with randomly chosen outcomes at non-deterministic points, using unsupervised machine learning to infer normal ranges of properties and detect anomalies, thereby reducing memory usage and identifying anomalous paths without pre-defined thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional model checking algorithms use recursive backtracking to examine all execution paths, then code verification thoroughness is improved, but memory requirements increase exponentially
Solution Approach 1:
The patent segments the execution path exploration into independent sampling instances rather than exhaustive traversal. Each sampling instance executes the program along a single path without saving complete state, dividing the verification task into many small independent units that consume minimal memory each.
Solution Approach 2:
The patent uses transient execution contexts that are created and discarded for each sampling instance. Instead of maintaining persistent state storage for all paths, each execution path is explored in a temporary, disposable context that is immediately released after sampling, avoiding cumulative memory accumulation.
2Reliability
If conventional model checking saves complete state at every non-deterministic point, then all execution paths can be explored, but processing time increases due to state space explosion
Solution Approach 1:
The patent applies partial action by sampling a subset of execution paths rather than exhaustively exploring all possible paths. Multiple sampling instances collectively provide sufficient verification coverage without the time cost of complete enumeration, achieving adequate reliability through statistical sampling.
Solution Approach 2:
The patent skips the time-consuming state saving and backtracking operations by executing paths forward without interruption. Each sampling instance rushes through its designated path to completion without pausing to save state, eliminating the iterative overhead of conventional model checking.
3Extent of automation
If conventional model checking follows predetermined execution paths, then systematic verification is achieved, but ability to detect anomalous behavior is reduced
Solution Approach 1:
The patent introduces dynamics by randomly selecting outcomes at non-deterministic points for each sampling instance rather than following fixed predetermined paths. This dynamic adaptation allows the verification process to discover anomalous behaviors that may not appear on standard execution paths while maintaining automated systematic verification through structured sampling.
Data Source
AI summary
A processor is configured to execute an event-driven program along a plurality of execution paths. Each of the plurality of execution paths is determined by randomly chosen outcomes at non-deterministic points along the plurality of execution paths. A memory is configured to store values of properties of the event-driven code in response to executing the event-driven program along the plurality of execution paths. The processor is also configured to infer normal ranges of the properties of the event-driven program based on the values stored in the memory.


