Automated Software Test Program Generation for Data Processing Apparatus
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As data processing systems become more complex, the number of potential failure points increases, making it difficult for skilled engineers to efficiently generate software test programs that can detect failures, especially those introduced by synthesis tools, which can obscure the function of individual gates or standard cells, thereby reducing the effectiveness of existing handwritten test programs.
Innovation Solution
A computer-implemented method that involves creating a failure-simulating model to identify uncovered failures within a data processing apparatus, analyzing it with a primary model to generate software stimuli that reveal detectable differences, and incorporating these stimuli into the existing software test program to enhance failure detection coverage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software test programs are handwritten by skilled engineers, then the ability to detect failures is improved, but the time and resource required for development increases
Solution Approach 1:
The patent performs preliminary failure identification and test stimulus generation through automated analysis of the target system model before actual testing. This preliminary automated action creates a foundation that reduces the need for time-consuming manual test program development while maintaining comprehensive failure detection coverage.
Solution Approach 2:
The patent introduces an automated software system as an intermediary between the target system model and the test program generation process. This intermediary automatically analyzes the system model, identifies potential failures, generates test stimuli, and validates test cases, thereby reducing direct human involvement and development time while maintaining high reliability.
2Adaptability or versatility
If data processing systems become more complex, then the functionality is improved, but the number of potential failure points increases
Solution Approach 1:
The patent segments the complex data processing system into a formal model representation that can be systematically analyzed. By breaking down the system into model components, the patent enables automated identification of failure points without being overwhelmed by the overall system complexity, thus managing the increased number of potential failures through structured analysis.
Solution Approach 2:
The patent transforms the complex physical system into a formal model with defined parameters and relationships. This parameter transformation allows automated analysis tools to systematically examine the system for potential failures, converting an intractable complexity problem into a manageable formal analysis task that scales with system complexity.
3Productivity
If synthesis tools are used to produce circuit layouts, then the manufacturing efficiency is improved, but the detectability of failures in synthesized portions decreases
Solution Approach 1:
The patent creates a formal model copy of the synthesized circuit layout that preserves the functional relationships and data flow. This model copy enables automated analysis of failure detectability without requiring direct inspection of the complex synthesized circuit, thus maintaining failure detectability analysis capability despite the use of synthesis tools that obscure individual gate functions.
Solution Approach 2:
The patent introduces a formal model as an intermediary layer between the synthesized circuit layout and the failure analysis process. This intermediary model reconstructs the functional relationships that may be obscured in the synthesized layout, enabling automated identification of test stimuli that can detect failures even in portions of the circuit generated by synthesis tools.
4Reliability
If the coverage of software test programs is increased, then the failure detection capability is improved, but the complexity of the test program increases
Solution Approach 1:
The patent implements a self-service approach where the automated system generates and validates test cases based on the target system model and identified failure points. The system automatically determines the necessary test stimuli and validates their effectiveness, reducing the need for complex manual test program construction while achieving comprehensive failure coverage through systematic automated analysis.
Data Source
AI summary
A simulation of software test program executing upon a primary model of a portion of a data processing apparatus is performed to identify uncovered (undetected) failures. A formal method analysis is then performed upon a combination of the primary model and a fault-simulating model simulating the uncovered failures in order to identify software stimuli that can render the uncovered failures detectable. The identified software stimuli are then added to the software test program to increase the failure coverage. The process is performed iteratively until a desired level of failure coverage is achieved.


