Automated Software Error Detection via Range Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveverification accuracyVSAvoidtool capability
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvecalculation accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If floating-point representations are used for numeric values, then discrete software implementation is enabled, but representation errors are introduced

Engineering Contradiction:
Improvesoftware implementabilityVSAvoidnumeric accuracy
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

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.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

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

Engineering Contradiction:
Improvesystem functionalityVSAvoidtiming accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9098619B2Method for automated error detection and verification of software
Publication Date: 2015.08.04 HONEYWELL INTERNATIONAL INC
  • US9098619B2 patent drawing
  • US9098619B2 patent drawing
  • US9098619B2 patent drawing

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.