Automated Software Error Detection via Range Propagation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current tools for verifying flight-critical software fail to adequately address numerical errors and their impact on system behavior, particularly in complex avionics systems, due to limitations in handling nonlinear arithmetic and errors introduced by floating-point representations and distributed execution platforms.
Innovation Solution
A method and system for automated error detection and verification that uses model-based analysis to propagate error bounds through computational semantics, identifying behavioral pivot values and reporting potential errors that may cause indeterminate system behavior, thereby extending existing range propagation techniques to account for representational uncertainties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If current verification tools are used for flight-critical software, then verification can be performed, but numerical errors and their impact on system behavior are not adequately addressed
Solution Approach 1:
The patent introduces an intermediary verification process that sits between the software execution and the verification tools. This intermediary layer captures numerical errors and behavioral pivot values, transforming them into verifiable data that current tools can process. The intermediary acts as a bridge that translates complex numerical error information into a form that existing verification infrastructure can handle, thereby improving verification accuracy without requiring complete tool redesign.
Solution Approach 2:
The verification process is segmented into distinct components: error detection, error propagation analysis, behavioral pivot value identification, and verification reporting. By dividing the complex verification task into manageable segments, the system can address numerical errors systematically at each stage rather than attempting to handle all aspects simultaneously, making the overall process more reliable and manageable.
2Measurement precision
If formal tools are used for verifying nonlinear arithmetic, then mathematical precision can be achieved, but the complexity of necessary calculations is not adequately supported
Solution Approach 1:
The patent replaces traditional formal verification methods with a model-based approach that uses range propagation and error bound analysis. Instead of relying on complex formal mathematical tools to verify nonlinear arithmetic, the system substitutes a more tractable method that tracks value ranges and error bounds through the computational model, achieving sufficient precision without the prohibitive complexity of formal verification tools.
Solution Approach 2:
The verification approach changes the parameters being analyzed from exact mathematical values to ranges and error bounds. By working with intervals and uncertainty measures rather than precise numerical values, the system can handle nonlinear arithmetic operations more effectively, transforming an intractable verification problem into a manageable one while maintaining adequate precision for safety-critical decisions.
3Ease of manufacture
If floating-point representations are used for numeric values, then discrete software implementation is enabled, but representation errors are introduced
Solution Approach 1:
The patent applies beforehand cushioning by introducing error bounds and uncertainty margins into the verification process before actual errors occur. The system proactively accounts for floating-point representation errors by establishing tolerance ranges and analyzing whether these errors could cause behavioral pivot value crossings. This preventive approach cushions against the inevitable numerical inaccuracies introduced by floating-point arithmetic.
Solution Approach 2:
The verification system converts the harmful effect of floating-point representation errors into a beneficial verification opportunity. By explicitly modeling and analyzing these errors, the system transforms what would be hidden bugs into detectable conditions. The errors that would normally go unnoticed are now systematically identified and evaluated for their potential impact on system behavior, turning a weakness into a strength.
4Adaptability or versatility
If distributed execution platforms are used for software, then system functionality is enhanced, but timing errors and numerical errors due to jitter are introduced
Solution Approach 1:
The patent applies preliminary action by analyzing and accounting for timing errors and jitter effects before they can cause incorrect system behavior. The verification process proactively identifies potential timing-related numerical errors and evaluates their impact on behavioral pivot values, preventing timing accuracy issues from manifesting as actual system errors rather than reacting to them after occurrence.
Data Source
AI summary
A method for automated error detection and verification of software comprises providing a model of the software, the model including one or more model inputs and one or more model outputs, and a plurality of blocks embedded within the model each with an associated block type, the block types each having a plurality of associated block-level requirements. The method further comprises topologically propagating from the model inputs, a range of signal values or variable values, and error bounds, across computational semantics of all the blocks to the model outputs. Each behavior pivot value for a given block is identified and examined to determine if modifying or extending the propagated range by the error bound will or may cause a signal value to fall on either side of the behavioral pivot value. All occurrences of the signal value that will or may fall on either side of the behavioral pivot value are reported.


