Deep Learning Model for Automated Software Dependency Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face difficulties in selecting appropriate software dependencies from the vast number of available options, especially due to evolving dependencies with new versions and vulnerabilities, which complicates the decision-making process.

Innovation Solution

A hybrid vector-trained deep learning model is employed to recommend software dependencies by utilizing both information about the purpose of available dependencies and collaborative data on their usage, generating a latent vector space to determine item similarity and provide recommendations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If developers manually review and select from hundreds or thousands of available software dependencies, then they can choose appropriate packages for their needs, but the time and effort required increases significantly

Engineering Contradiction:
Improveselection accuracyVSAvoidselection time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables automated self-service dependency selection by training a deep learning model on collaborative data from multiple developers. The model automatically recommends dependencies based on project requirements without requiring manual review of each option, thus reducing selection time while maintaining accuracy through learned patterns from collective developer expertise.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A deep learning model acts as an intermediary between developers and the vast repository of software dependencies. The model processes project requirements and collaborative usage data to generate recommendations, bridging the gap between developer needs and the overwhelming number of available packages, thereby reducing selection time while preserving selection quality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If developers consider all evolving factors including new versions, additional features, and vulnerabilities when selecting dependencies, then selection quality improves, but the complexity of the decision-making process increases

Engineering Contradiction:
Improvedependency selection qualityVSAvoiddecision-making complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically evaluates multiple dependency factors including version stability, feature completeness, and vulnerability status by training the deep learning model on comprehensive collaborative data. This self-service evaluation process handles the complexity of considering multiple factors without requiring developers to manually assess each aspect, thus improving selection quality while reducing decision-making complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual decision-making process with an automated deep learning model. The model systematically evaluates multiple dependency attributes (versions, features, vulnerabilities) by processing collaborative data, substituting complex human judgment with automated computational analysis that handles multiple factors simultaneously without increasing perceived complexity for developers.

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

3Measurement precision

If developers rely on comprehensive metadata and collaborative data about dependencies, then recommendation accuracy improves, but the computational resources required for processing and storing this data increase

Engineering Contradiction:
Improverecommendation accuracyVSAvoiddata processing requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system performs preliminary action by pre-processing and structuring collaborative data during the model training phase. Comprehensive metadata and usage patterns are organized and encoded into the deep learning model beforehand, enabling accurate recommendations without requiring real-time processing of raw data. This preliminary data preparation reduces the computational burden during actual dependency selection while maintaining high recommendation accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11443231B2Automated software selection using a vector-trained deep learning model
Publication Date: 2022.09.13 RED HAT INC
  • US11443231B2 patent drawing
  • US11443231B2 patent drawing
  • US11443231B2 patent drawing

AI summary

A processing device can establish a vector-trained, deep learning model to produce software dependency recommendations. The processing device can build a list of software dependencies and corresponding metatags for each of the software dependencies, and generate a probability distribution from the list. The processing device can sample the probability distribution to produce a latent vector space that includes representative vectors for the software dependencies. The processing device can train a hybrid deep learning model to produce software dependency recommendations using the latent vector space as well as collaborative data for the software dependencies.