Compiler Optimizer Selection Using Branch-Path ML Features

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Selecting the optimal combination of optimizers for programming code optimization is a complex NP-complete problem, as different optimizers interact and their combinations yield varying results, making it difficult to find the best optimizer set for a specific code.

Innovation Solution

A method and system that utilize counters on branch paths of optimizers to compile code, generating a feature vector for machine learning to predict the optimal optimizer collection, automating the selection process without expert intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If multiple optimizers are used to compile programming code, then the optimization quality improves, but the complexity of selecting the best combination increases exponentially

Engineering Contradiction:
Improveoptimization qualityVSAvoidoptimizer selection complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent transforms the complex optimizer selection problem into a parameter-based feature vector representation. By extracting features from code syntax trees, optimizer behaviors, and compilation results, the system converts the combinatorial selection problem into a parameter space where machine learning models can efficiently identify optimal configurations without evaluating all possible combinations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary machine learning model that acts as a mediator between the code and optimizers. This model learns the complex interactions between optimizers and code characteristics from training data, then predicts optimal optimizer combinations for new code, avoiding the need for exhaustive search or expert manual selection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If exhaustive search is used to find the best optimizer combination, then the optimization result improves, but the time consumption increases significantly

Engineering Contradiction:
Improveoptimization result qualityVSAvoidselection time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-training machine learning models on extensive datasets of code-optimizer combinations and their results. This pre-learning process captures the complex relationships between optimizers and code characteristics, enabling the system to quickly predict optimal configurations for new code without performing exhaustive search at runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical exhaustive search process with a machine learning-based prediction system. Instead of systematically evaluating all possible optimizer combinations through compilation and testing, the system uses trained models to predict optimal combinations based on learned patterns, dramatically reducing selection time while maintaining high optimization quality.

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

3Measurement precision

If domain expertise is used to select optimizers, then the selection accuracy improves, but the requirement for expert intervention increases

Engineering Contradiction:
Improveselection accuracyVSAvoidoperation simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent implements self-service by enabling the system to automatically select optimal optimizers without requiring expert intervention. The machine learning models learn from historical data and autonomously make selection decisions based on code characteristics and optimizer performance patterns, eliminating the need for domain experts to manually analyze and select optimizers for each code.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an intermediary machine learning system that captures and codifies domain expertise. Instead of requiring human experts to directly select optimizers, the system learns expert knowledge from training data and acts as an intelligent intermediary that automatically makes selection decisions, making the process accessible to non-experts while maintaining high selection accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3989058B1Optimization method and optimization system for computer programming code
Publication Date: 2026.03.04 IND TECH RES INST
  • EP3989058B1 patent drawingFigure 1
  • EP3989058B1 patent drawingFigure 2
  • EP3989058B1 patent drawingFigure 3

AI summary

An optimization method, an optimization system for computer programming code and an electronic device using the same are provided. The optimization method includes the following steps. Several optimizers each having several branch paths are provided. A counter is set on each of the branch paths. When the optimizers run through the branch paths, the counters set on the branch paths, where the optimizer run through, are counted. The computer programming code is compiled through the optimizers. Several count values of the counters are obtained. The count values are collected to obtain a feature vector of the computer programming code. The feature vector is inputted to a machine learning model to obtain an optimizer collection suitable for the computer programming code.