Autonomous Data Structure Selection via ML and Bloom Filters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The selection of data structures in code development is often error-prone and inefficient, leading to sub-optimal performance metrics such as increased program execution duration, wasted computing resources, and security vulnerabilities, particularly in applications with evolving inputs and heterogeneous systems.
Innovation Solution
A system that autonomously selects data structures using a machine learning approach with three phases: learning how to learn, learning an ML model, and determining the best-fit data structures based on performance metrics, employing a statistically distributed dataset and Bloom filters to reduce computational overhead and eliminate discretionary errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If programmers manually select data structures during code development, then they can make informed decisions based on knowledge, but the process becomes error-prone and inefficient leading to sub-optimal performance
Solution Approach 1:
The system enables self-service by allowing the data structure selection process to autonomously determine the optimal data structure based on performance metrics, eliminating the need for manual programmer intervention and reducing errors while maintaining efficiency
Solution Approach 2:
The patent replaces the mechanical manual selection process with an automated machine learning-based system that analyzes performance metrics and autonomously selects data structures, improving both accuracy and efficiency simultaneously
2Ease of manufacture
If traditional data structure selection methods are used, then development is straightforward, but program execution duration increases and computing resources are wasted
Solution Approach 1:
The system performs preliminary action by selecting the optimal data structure during the code development phase based on performance metrics analysis, preventing sub-optimal selections that would lead to increased execution duration and resource wastage
Solution Approach 2:
The patent implements feedback mechanisms that analyze performance metrics from executed code and use this information to improve future data structure selections, continuously reducing execution duration and resource consumption while maintaining development simplicity
3Measurement precision
If comprehensive data structure evaluation is performed, then selection accuracy improves, but computational overhead increases
Solution Approach 1:
The system applies partial action by evaluating only the most relevant data structures based on performance metrics rather than exhaustively analyzing all possible data structures, achieving high selection accuracy while minimizing computational overhead
Solution Approach 2:
The patent changes parameters by using performance metrics as the basis for evaluation rather than traditional comprehensive analysis, allowing the system to achieve accurate selections with reduced computational resources by focusing on key performance indicators
4Ease of operation
If manual data structure selection is used, then programmers have control, but security vulnerabilities and erroneous selections increase
Solution Approach 1:
The system transitions control to self-service by enabling the automated system to make data structure selections based on performance metrics, eliminating programmer errors and security vulnerabilities while maintaining the ability to review and approve selections
Data Source
AI summary
Methods, systems, and articles of manufacture to autonomously select data structures are disclosed. An example apparatus includes an ordinal assigner to assign training code operations to respective first ordered values, and assign candidate data structure types to respective second ordered values, a filter generator to, for a first instruction of the training code operations, generate a Bloom filter bit vector pattern based on (a) one of the first ordered values, (b) one of the second ordered values corresponding to a first one of the candidate data structure types, and (c) a size of the first instruction, a label generator to generate a first model training input feature vector based on the Bloom filter bit vector pattern, data corresponding to the first instruction, and a performance metric of the first one of the candidate data structure types, and a neural network manager to train the data structure selection model with the first model training input feature vector.


