Codepath Integrity Checking via Token Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face challenges in detecting faults before they occur, as existing fault detection methods are often reactive and resource-intensive, failing to provide insight into how incorrect outputs are generated, especially in mission-critical systems.
Innovation Solution
The method involves inserting tokens into program code to establish baseline and executing code versions, subjecting the executing code to testing conditions, and comparing error detection values to detect errors quickly with minimal overhead, using a non-deterministic CRC or checksum arrangement for codepath verification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If runtime integrity checking is employed to detect improper codepath execution, then detection capability is improved, but CPU time and system resources are excessively consumed
Solution Approach 1:
The patent segments the codepath verification process by inserting tokens at specific points in the code and verifying only these token values rather than monitoring the entire execution chain. This segmentation reduces the computational overhead from continuous monitoring to periodic token verification, resolving the contradiction between detection capability and resource consumption.
Solution Approach 2:
The patent creates a simplified copy of the execution verification process by using token values that represent key states in the codepath. Instead of verifying the complete execution chain, the system uses these token copies to infer codepath integrity, reducing CPU time and resource consumption while maintaining detection capability.
2Measurement precision
If algorithmic integrity checking is used to validate algorithm output, then output validity is improved, but insight into execution process is lost
Solution Approach 1:
The patent applies preliminary action by pre-computing expected token values for all possible codepaths before execution. During runtime, the actual token values are compared against these pre-computed expectations, providing both output validation and insight into the execution process without requiring complex runtime analysis.
Solution Approach 2:
The patent implements feedback by comparing actual token values during execution against expected values. This feedback mechanism provides immediate insight into whether the codepath followed the intended execution flow, resolving the information loss problem while maintaining output validation accuracy.
3Ease of repair
If fault detection is performed after fault occurrence using toolkits, then system recovery is enabled, but preventive detection capability is insufficient
Solution Approach 1:
The patent applies preliminary action by establishing baseline token values and expected codepath sequences before system operation. This allows the system to detect deviations from expected behavior in real-time, enabling preventive detection rather than waiting for faults to occur and requiring post-factum recovery toolkits.
Data Source
AI summary
A method and apparatus for testing code is provided. The method includes inserting at least one token in program code, wherein each token comprises a code element able to provide a value during runtime, establishing a baseline code version and an executing code version from the program code, and subjecting the executing code version to various testing conditions using a processing device. Subjecting the executing code version to various testing conditions comprises periodically evaluating at least one executing code token having one associated executing error detection value against the at least one baseline code token having one associated baseline error detection value and reporting an error when at least one executing code token and associated executing error detection pair fails to match at least one baseline code token and associated baseline error detection pair.


