State-Based Test Case Generation for Vehicle Software Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current test case generation tools for software validation, particularly in complex vehicle software, face limitations such as non-linear mathematics complexities and insufficient variety of test cases, making it difficult to achieve Modified Condition/Decision Coverage (MC/DC) effectively.
Innovation Solution
The method involves determining state-based and non-state-based inputs for software program blocks, generating permutations of values for state-based inputs, and applying these values to run test cases, while using mechanisms like random numbers and sequences for non-state inputs to ensure full MC/DC coverage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If formal methods utilizing mathematics are used to prove software correctness, then software validation reliability is improved, but device complexity and computational limitations worsen due to non-linear mathematics, look-up tables, state-space explosion
Solution Approach 1:
The patent segments the software into program blocks with identifiable inputs and outputs, treating each block independently for testing. This segmentation allows systematic testing of individual components without attempting to prove the entire software system mathematically, thereby reducing overall complexity while maintaining validation reliability.
Solution Approach 2:
The patent replaces formal mathematical proof methods with a mechanical testing approach using test cases. Instead of using complex mathematics to prove correctness, the system generates specific test cases that validate software behavior, substituting mathematical reasoning with empirical testing that is more manageable and scalable.
2Ease of manufacture
If random test case generation is used to provide modified condition/decision coverage, then test case generation simplicity is improved, but the variety and sufficiency of test cases worsen for complex or large software
Solution Approach 1:
The patent performs preliminary analysis of the software to identify program blocks, their inputs, and their types before generating test cases. This preliminary action enables systematic test case generation that targets specific conditions and decisions, ensuring adequate coverage without relying on pure random generation.
Solution Approach 2:
The patent changes the approach from random parameter generation to systematic parameter assignment based on input types. Different input types (state-based, non-state-based, etc.) receive different testing strategies, allowing tailored test cases that achieve comprehensive coverage while maintaining generation simplicity through automated classification and handling.
3Reliability
If state based test case generation is used to achieve predetermined MC/DC coverage, then validation thoroughness is improved, but test case generation complexity increases
Solution Approach 1:
The patent implements a self-service testing system where the software's own structure (program blocks, inputs, outputs) is automatically analyzed to generate appropriate test cases. The system uses the software's inherent characteristics to create tests, eliminating the need for external complex testing frameworks or manual test design, thereby reducing generation complexity while improving validation thoroughness.
Data Source
AI summary
Systems and methods for state based test case generation for software validation are disclosed. One embodiment includes determining a first input and a first input type for a program block of vehicle software for creating a test case, wherein the first input type includes a state based input, determining permutations of values for the first input, based on the first input type, and running the test case with the state based input, wherein running the test case comprises applying the permutations of values for the first input to the program block. Some embodiments include determining, by a test computing device, whether the test case meets a predetermined level of modified condition/decision coverage (MC/DC) and providing an indication of whether the test case meets the predetermined level of MC/DC.


