ML-Based Software Patch Generation for Vulnerability Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying and fixing software vulnerabilities at an enterprise scale is a resource-intensive process requiring significant manual labor and expertise, making it time-consuming and costly.

Innovation Solution

The implementation of machine learning-based systems that automatically identify security flaws, generate fixes, and deploy them without human intervention, using pre-trained code generation models and static analysis to create patches for known vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual vulnerability identification and fixing processes are used, then accuracy and expertise in security flaw detection is improved, but time consumption and resource requirements increase significantly

Engineering Contradiction:
Improveaccuracy of vulnerability detectionVSAvoidtime required for vulnerability fixing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical processes of vulnerability identification and code patching with an automated machine learning system. The ML model analyzes code to detect vulnerabilities and generates patches automatically, substituting human expert labor with computational intelligence that operates continuously without time loss.

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

Solution Approach 2:

The system enables self-service vulnerability detection and fixing by automatically identifying security flaws in code and generating appropriate patches without requiring manual intervention. The ML model independently analyzes code patterns, detects vulnerabilities, and produces fixes that can be applied directly to the software.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated machine learning systems are implemented, then productivity and efficiency of vulnerability fixing is improved, but system complexity and initial resource requirements increase

Engineering Contradiction:
Improvespeed of vulnerability fixingVSAvoidcomplexity of patch generation system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces machine learning models as intermediary components that bridge the gap between vulnerability detection and patch generation. These models act as mediators that process code input, identify vulnerabilities, and generate appropriate patches, simplifying the overall system architecture while enabling automation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses code copying and pattern recognition techniques where the ML model learns from existing code patterns and vulnerability examples to generate patches. By copying successful patch patterns from training data, the system can efficiently produce fixes for new vulnerabilities without requiring complex analysis from scratch.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240385823A1Patch generation for flaws in software
Publication Date: 2024.11.21 MICRO FOCUS LLC
  • US20240385823A1 patent drawing
  • US20240385823A1 patent drawing
  • US20240385823A1 patent drawing

AI summary

Identifying and resolving weaknesses in software are common, resource-intensive tasks for many organizations. Machine-learning models are provided to automatically identify software vulnerabilities or other flaws, such as via entries in a weakness or vulnerability database, identify affected software, generate patches to resolve the vulnerabilities, and apply the patch to affected software. The patch is automatically extracted from code deltas between a software version having the weakness and a subsequent version wherein the weakness has been resolved. Other differences between the versions, not affecting the weakness, are excluded from the code deltas.