ML-Based Test Code Generation for Embedded Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software testing methods rely heavily on manual creation of test cases and code, which is inefficient and prone to errors, especially in complex cyber-physical systems.

Innovation Solution

A computer-implemented method using a machine learning model to automatically generate test cases and test code based on the software code and prompts, with evaluation and adaptation to ensure quality and relevance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual creation of test cases and code is used, then test quality can be controlled, but efficiency and productivity are low

Engineering Contradiction:
Improvetesting efficiencyVSAvoidmanual effort
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The patent replaces manual mechanical processes of test case creation with an automated machine learning-based system. The ML model generates test cases and test code automatically based on software code analysis, eliminating the need for manual writing and reducing human effort in the testing process.

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

Solution Approach 2:

The system enables self-service by allowing the machine learning model to autonomously generate and evaluate test cases without requiring continuous manual intervention. The automated evaluation process further enables the system to self-verify test quality, reducing dependency on manual quality control.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated test generation tools are used, then productivity improves, but test quality and reliability deteriorate due to lack of manual verification

Engineering Contradiction:
Improvetest code generation speedVSAvoidtest correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the generated test code is automatically evaluated and the results are fed back into the machine learning model. This feedback loop allows the model to learn from previous generations and improve test quality over time, ensuring both high productivity and reliable test correctness.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary evaluation of generated test cases before final deployment. The automated evaluation process checks test correctness in advance, ensuring that only quality-assured test code is used, thus maintaining reliability while benefiting from automated generation speed.

Inventive Principle:
Principle #10Preliminary action

3Extent of automation

If existing testing tools are used, then syntax-level testing is achieved, but understanding of software requirements and semantics is insufficient

Engineering Contradiction:
Improvetest generation automationVSAvoidsoftware requirement context
Core Design Contradiction:
Extent of automationVSLoss of information

Solution Approach 1:

The patent changes the fundamental parameters of test generation by moving from syntax-only analysis to semantic understanding. The machine learning model processes software code with an understanding of its requirements, semantics, and context, generating test cases that reflect actual software behavior rather than just syntactic structures.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The machine learning model acts as an intermediary between the software code and the test cases. It mediates by understanding the semantic meaning and requirements of the code, then translating this understanding into appropriate test scenarios, thus preserving important contextual information that syntax-based tools miss.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If more test cases are generated to increase coverage, then testing thoroughness improves, but time consumption and complexity increase

Engineering Contradiction:
Improvetest coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the approach to test coverage by using machine learning to generate a smaller number of high-quality test cases that target critical software paths. Instead of generating many superficial test cases, the ML model identifies and prioritizes the most important testing scenarios based on software semantics, achieving thorough coverage with fewer cases.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies local quality by concentrating testing effort on the most critical parts of the software identified by the machine learning model. Rather than uniformly distributing test cases across all code, the ML model identifies high-risk areas and generates targeted test cases for those specific locations, improving overall testing efficiency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250130928A1Automated generation of test code for testing embedded software
Publication Date: 2025.04.24 ROBERT BOSCH GMBH
  • US20250130928A1 patent drawing
  • US20250130928A1 patent drawing
  • US20250130928A1 patent drawing

AI summary

A computer-implemented method for the automated generation of test code for testing software. The method includes generating, via a machine learning model, at least one test case and/or a test code at least based on a code of the software and a prompt; and evaluating the at least one test case and/or the test code, wherein an evaluation result is obtained. A computer-implemented method for further training a machine learning model and/or further machine learning model is also described. The machine learning model configured to generate at least one test case and/or a test code for testing software at least based on a code of the software and a prompt, and the further machine learning model is designed to generate a test code for testing the software at least based on at least one test case and a further prompt.