Lookup Table Verification Using Neural Network Approximation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Formal verification of automotive software that uses lookup tables (LUTs) is impractical due to the exponential increase in proof cases, making it computationally expensive and difficult to scale, especially for complex systems, as existing approximation methods fail to accurately represent sharp corners and discontinuities in LUTs.
Innovation Solution
A computer-implemented method using a machine learning framework to generate approximations of LUTs by fitting piecewise functions, which can accurately represent sharp corners and discontinuities, thereby reducing the complexity of verification and enabling efficient verification of software programs with large datasets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If formal verification is applied to automotive software with lookup tables, then verification completeness is improved, but computational complexity increases exponentially
Solution Approach 1:
The patent segments the verification process into two distinct phases: (1) generating candidate counterexamples using a neural network approximation model, and (2) verifying these candidates against the original complex system. This segmentation avoids the exponential complexity of exhaustive formal verification while maintaining verification effectiveness through targeted candidate selection.
Solution Approach 2:
The patent introduces a neural network approximation model as an intermediary between the complex lookup table system and the verification process. This intermediary model has simplified structure that is easier to verify, while still capturing the essential behavior of the original system. The intermediary enables efficient verification by translating the hard verification problem into a more tractable form.
2Productivity
If traditional approximation methods are used for lookup tables, then computational burden is reduced, but accuracy in representing sharp corners and discontinuities deteriorates
Solution Approach 1:
The patent employs a dynamic approach where the approximation model is iteratively refined based on verification feedback. The neural network parameters are adjusted dynamically to improve accuracy in representing sharp corners and discontinuities while maintaining computational efficiency. This dynamic refinement process allows the system to adapt the approximation quality to the specific verification needs.
Solution Approach 2:
The patent replaces traditional mechanical/mathematical approximation methods (such as piecewise linear interpolation) with a neural network-based approximation system. The neural network can learn complex non-linear relationships and represent sharp transitions more accurately than traditional methods, while still providing the computational efficiency needed for practical verification.
3Reliability
If exhaustive testing is performed to ensure 100% error detection, then reliability is improved, but time consumption becomes impractical
Solution Approach 1:
The patent applies partial action by focusing verification efforts on the most critical cases. Instead of exhaustively testing all possible inputs, the neural network generates a selective subset of candidate counterexamples that are most likely to reveal errors. This partial verification approach achieves practical reliability by targeting the most dangerous scenarios without the prohibitive time cost of complete exhaustion.
Solution Approach 2:
The patent performs preliminary filtering of test cases using the neural network approximation model before applying expensive formal verification. This preliminary action identifies and prioritizes the most promising candidate counterexamples, so that subsequent verification efforts focus on cases most likely to contain errors. This preprocessing step dramatically reduces the overall verification time while maintaining detection effectiveness.
Data Source
AI summary
The technology can advantageously improve the speed of software verification using an approximation of a datastore storing a multiplicity of indexed data. An example method may determine data point(s), suspected to violate a specification of a software program being verified, using approximation(s) of datastore(s) of the software program. Data ranges reflecting subset(s) of data from the approximation(s) that contain the data points may be determined and data entries stored in the datastore(s) may be searched for the data point(s) suspected to violate the specification. The data entries lie within the data range(s) and the method determines whether the data point(s) are in violation of the specification based on the searching.


