Binary Code Classification Model for Targeted Software Patching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of creating binary-code patches for software updates is time-consuming and results in large patches that are slow to install, causing system downtime due to the need to track and package all affected binary code files, which is particularly challenging for large-scale software companies.

Innovation Solution

A classification model is generated using machine-learning algorithms based on changed and unchanged binary code data to determine which binary code files have been affected by source code changes, allowing for the creation of targeted patches that eliminate the need to track individual changes and reduce patch size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional methods are used to track and package all affected binary code files for software updates, then completeness of patches is improved, but patch creation time and installation time increase significantly

Engineering Contradiction:
Improvecompleteness of patchesVSAvoidpatch creation time and installation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the manual/mechanical process of tracking individual binary code file changes with an automated machine learning classification system. The ML model automatically analyzes binary code files and classifies them as affected or unaffected by source code changes, eliminating the need for manual tracking and significantly reducing patch creation time while maintaining accuracy through automated classification.

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

2Reliability

If all binary code files are packaged in patches to ensure completeness, then patch reliability is improved, but patch size increases leading to slower installation

Engineering Contradiction:
Improvepatch completenessVSAvoidinstallation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary affected binary code files from the complete set of binary files and packages them in the patch. The ML classification model identifies and extracts only those files that have actually changed, excluding unaffected files from the patch package. This reduces patch size and installation time while maintaining reliability by including all necessary changes.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If manual tracking of individual binary code file changes is performed, then accuracy of change detection is improved, but device complexity and operational difficulty increase

Engineering Contradiction:
Improvechange detection accuracyVSAvoidpatch creation system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a self-service system where the machine learning model automatically performs the classification of binary code files without requiring manual intervention. The system feeds binary code files and source code changes into the ML model, which autonomously determines affected files and generates the patch package, eliminating the need for complex manual tracking processes while maintaining high accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10990363B2Classification models for binary code data
Publication Date: 2021.04.27 MICRO FOCUS LLC
  • US10990363B2 patent drawing
  • US10990363B2 patent drawing
  • US10990363B2 patent drawing

AI summary

Examples disclosed herein relate to classification models for binary code data. Some of the examples enable obtaining changed binary code data and unchanged binary code data, and generating, using a machine-leaning algorithm, a classification model based on training data that comprises the changed binary code data and the unchanged binary code data.