Embedded Software Patch Generation From Binary Code Vulnerabilities

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge of generating software patches for embedded systems, particularly cyber-physical systems, to address vulnerabilities and maintain security and functionality is complex and time-consuming, often requiring manual effort and is not adequately automated.

Innovation Solution

A computer-implemented method using a machine learning model, such as a large language model, to automatically generate patches for software vulnerabilities based on binary code, with evaluation and adaptation to ensure reliability and quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual patch creation is used, then patch reliability can be maintained through human expertise, but the process becomes time-consuming and expensive

Engineering Contradiction:
Improvepatch reliabilityVSAvoidpatch generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the manual mechanical process of patch creation with an automated machine learning system. The ML model processes binary code and vulnerability descriptions to generate patches automatically, eliminating the need for manual human intervention while maintaining patch quality through systematic evaluation and refinement processes.

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

Solution Approach 2:

The system enables self-service patch generation where the machine learning model autonomously creates, evaluates, and refines patches without continuous human oversight. The automated evaluation framework allows the system to self-correct and improve patch quality through iterative processing, reducing dependency on manual expertise while accelerating delivery.

Inventive Principle:
Principle #25Self-service

2Productivity

If automation is increased to reduce time and cost, then patch generation becomes faster and cheaper, but reliability may be compromised

Engineering Contradiction:
Improvepatch generation efficiencyVSAvoidpatch quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where generated patches are automatically evaluated against the original binary code and vulnerability description. The evaluation results feed back into the system to refine and improve subsequent patch generations, ensuring that automation maintains high reliability through continuous validation and correction.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-processing the binary code and vulnerability information before patch generation. This preparatory phase structures the input data in ways that enable the ML model to generate reliable patches more efficiently, addressing both productivity and reliability concerns through advance preparation.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If patches are generated for complex embedded software, then comprehensive vulnerability coverage is achieved, but the complexity of maintenance and overview becomes unmanageable

Engineering Contradiction:
Improvevulnerability coverageVSAvoidsoftware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and focuses specifically on the vulnerable portions of the binary code rather than requiring comprehension of the entire complex software system. By isolating and addressing only the affected code segments, the system achieves comprehensive vulnerability coverage without being overwhelmed by overall software complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The approach segments the patch generation process into discrete, manageable components: vulnerability analysis, targeted code modification, and systematic evaluation. This segmentation allows the system to handle complex embedded software by breaking down the problem into smaller, tractable units that can be processed independently and verified systematically.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250238526A1Automatic generation of patches for embedded software
Publication Date: 2025.07.24 ROBERT BOSCH GMBH
  • US20250238526A1 patent drawing
  • US20250238526A1 patent drawing

AI summary

A computer-implemented method for automatically generating a patch of software or of a part of the software designed to control, regulate and/or monitor a technical system or a part thereof. The method includes generating, via a machine learning model, at least one patch for a vulnerability of the software or the part thereof based on a prompt and a binary code of the software or the part thereof. A computer-implemented method for further training a machine learning model is also described, the machine learning model being designed to generate at least one patch for a vulnerability of software or a part of the software based on a prompt and a binary code of the software or the part thereof. The method includes adapting the machine learning model based on at least one generated patch and at least one evaluation result resulting from evaluating the at least one patch.