ML-Based Memory Allocation for Binary Executable Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The analysis of binary executables for potential vulnerabilities is computationally expensive and challenging due to the increasing complexity of software packages and their interdependencies, which can lead to difficulties in identifying security risks and managing memory resources effectively.

Innovation Solution

A machine learning-based approach is employed to analyze binary executables by extracting features, such as code section size and data section size, and inputting them into a machine learning model to estimate peak memory usage. This model is trained using a dataset generated from monitoring memory usage during the analysis of various software packages, allowing for efficient allocation of memory resources and queuing of software packages when resources are insufficient.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If binary executable analysis is performed to identify security vulnerabilities, then security risk detection capability is improved, but computational resource consumption increases

Engineering Contradiction:
Improvesecurity risk detection capabilityVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary feature extraction from binary executables before full analysis, using machine learning models to predict peak memory usage and prioritize which binaries require intensive analysis. This preliminary assessment stage filters out low-risk binaries, reducing overall computational resource consumption while maintaining security detection capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The machine learning model is trained on historical analysis data to automatically learn patterns of memory usage and security vulnerabilities. Once trained, the model serves itself by making accurate predictions about which binaries require full analysis, eliminating the need for manual configuration and reducing computational overhead through intelligent decision-making.

Inventive Principle:
Principle #25Self-service

2Productivity

If memory resources are allocated for analyzing multiple software packages, then analysis throughput is improved, but memory management complexity increases

Engineering Contradiction:
Improveanalysis throughputVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically allocates memory resources based on real-time predictions from the machine learning model. As new binaries are analyzed, the model continuously updates its predictions about peak memory usage, allowing the system to adapt memory allocation dynamically rather than using static allocation, thereby improving throughput while managing complexity through automation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback loops where actual memory usage during analysis is compared against ML model predictions. This feedback is used to continuously refine the model's accuracy, enabling better memory resource allocation decisions over time. The feedback mechanism automates memory management complexity by using learned patterns rather than manual intervention.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If feature extraction is performed from the entire binary executable, then analysis accuracy is improved, but processing time increases

Engineering Contradiction:
Improveanalysis accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The binary executable analysis is segmented into multiple stages: initial feature extraction from headers and metadata, ML-based risk prediction, and conditional full analysis only for high-risk binaries. This segmentation allows the system to achieve sufficient accuracy for prioritization without processing entire binaries, reducing processing time while maintaining necessary analysis accuracy for security-critical decisions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial feature extraction focusing only on the most discriminative features (headers, metadata, signature patterns) rather than complete binary analysis for all files. This partial action approach provides sufficient accuracy for initial risk assessment and prioritization, significantly reducing processing time while enabling full analysis to be applied selectively to high-risk candidates.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12307286B1Machine learning technique for efficiently scheduling tasks for large-scale analysis of binary executables
Publication Date: 2025.05.20 BINARLY INC
  • US12307286B1 patent drawing
  • US12307286B1 patent drawing
  • US12307286B1 patent drawing

AI summary

Features are extracted and/or derived from a software package (e.g., a binary executable, etc.) which are input into a machine learning model to determine an estimated peak memory usage required to analyze the software package. A number of memory resource units required for the determined peak memory usage is then determined. If the number of available memory resource units is less than the determined number of required memory resource units, then the software package can be queue in a backoff queue. The determined number of required memory units to analyze the software package can be allocated when a number of available memory resource units equals or exceeds the determined number of required memory resource units (whether or not the software package has been queued). The software package can then be analyzed using the allocated memory units. Information characterizing this analysis can be provided to a consuming application or process.