Software Test Repeatability Analysis for Autonomous Vehicle Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Autonomous vehicle software testing faces challenges due to the complexity of large software stacks and frequent code changes, making it difficult to identify the impact of changes and debug issues, particularly due to the lack of repeatability in test scenarios, which affects the reliability of the software and safety of the vehicle.

Innovation Solution

The system and techniques described provide methods to determine the repeatability of test scenarios and identify errors in autonomous vehicle software by analyzing divergent behaviors on a temporal basis, calculating repeatability scores, and using these scores to validate tests and code changes, thereby improving testing flexibility, accuracy, and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software tests are run frequently to validate code changes, then software reliability is improved, but test repeatability deteriorates due to complex software stacks and frequent changes

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidtest repeatability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by calculating repeatability scores before full software validation. Test scenarios are evaluated for repeatability using divergence thresholds and temporal analysis, allowing the system to identify potentially failed tests in advance and prevent wasting resources on non-repeatable tests, thus maintaining reliability while managing the complexity of frequent code changes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional mechanical testing approaches with a computational analysis system. Instead of relying on manual test execution and observation, the system uses automated divergence detection, temporal analysis, and repeatability scoring algorithms to evaluate test scenarios, substituting physical test repetition with mathematical analysis of test data patterns

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

2Manufacturing precision

If detailed testing is performed to identify code change impacts, then manufacturing precision is improved, but device complexity increases due to large software stacks

Engineering Contradiction:
Improvecode change impact identificationVSAvoidsoftware stack complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system segments the complex software testing process into distinct analytical components: divergence detection, temporal analysis, repeatability scoring, and threshold evaluation. Each component handles a specific aspect of test analysis independently, making the overall complex system manageable and maintainable while achieving precise identification of code change impacts

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer between code changes and full software validation. The repeatability analysis system acts as a mediator that evaluates test scenarios using divergence thresholds and temporal patterns, filtering and prioritizing tests before they reach the full validation pipeline, thus reducing the complexity burden on the main software stack

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If test scenarios are rerun multiple times to ensure repeatability, then measurement precision is improved, but loss of time increases due to configurable rerun requirements

Engineering Contradiction:
Improvetest result repeatabilityVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary repeatability analysis using divergence thresholds and temporal patterns before committing to multiple test reruns. By calculating repeatability scores in advance and identifying tests that meet confidence thresholds, the system avoids unnecessary time-consuming reruns while still ensuring measurement precision for tests that require validation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically adjusts testing parameters based on repeatability analysis results. The configurable number of reruns and divergence thresholds are modified according to the calculated repeatability scores, allowing the system to optimize measurement precision by running tests more times when needed and fewer times when repeatability is already high, thus reducing overall testing time

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12061537B2Testing software changes and determining a repeatability of software tests
Publication Date: 2024.08.13 GM CRUISE HOLDINGS LLC
  • US12061537B2 patent drawing
  • US12061537B2 patent drawing
  • US12061537B2 patent drawing

AI summary

Systems and techniques are provided for testing software changes and determining a repeatability of software tests. An example method can perform software tests at different timepoints, each software test being based on a test scenario comprising a test simulation environment configured to test a software; determine one or more software tests from the software tests having a variation in test scores that exceeds a divergence threshold, the one or more software tests comprising at least one test scenario; rerun a software test a number of times, the software test configured to test changes to a code of the software, the changes to the code being associated with the software test and/or the at least one test scenario; and determine, based on test scores generated by the software test performed the number of times, a repeatability score for the software test on the changes to the code of the software.