Compiler Dependency Resolution via ML Metadata Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based storage of external dependencies for applications can lead to outdated versions and inaccurate file names, making the compilation process time-consuming and error-prone due to changes in dependencies between retrieval and compilation.

Innovation Solution

A system utilizing a machine learning tool with a web-crawler to identify and download the most comparable external dependencies from the internet, comparing metadata to assign confidence levels, and allowing user selection to ensure accurate and up-to-date dependencies for compilation, while storing selected dependencies for future use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If external dependencies are stored on the cloud server, then the compilation process can access dependencies quickly, but the dependencies may become outdated between retrieval and compilation

Engineering Contradiction:
Improvedependency retrieval speedVSAvoiddependency version accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by downloading external dependencies directly from the internet at the time of compilation rather than relying on pre-stored cloud versions. The web crawler proactively searches for and retrieves the latest dependency versions, ensuring accuracy while maintaining compilation speed through automated direct access.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the web crawler locates multiple comparable external dependencies, then the system can choose the most suitable version, but the compilation process becomes more complex

Engineering Contradiction:
Improvedependency version matching accuracyVSAvoidcompilation process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The machine learning tool implements feedback by comparing metadata of located dependencies against the application's requirements, assigning confidence levels based on match quality. This automated feedback mechanism resolves complexity by systematically evaluating multiple options and selecting the best match without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service by automatically locating, comparing, and selecting the most suitable external dependencies without requiring manual user configuration. The web crawler and machine learning tool work autonomously to resolve dependency versions, reducing perceived complexity for users while maintaining high precision in dependency selection.

Inventive Principle:
Principle #25Self-service

3Reliability

If the system automatically downloads external dependencies during compilation, then the latest versions are ensured, but the compilation time increases

Engineering Contradiction:
Improvedependency version currencyVSAvoidcompilation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system maintains continuity of useful action by integrating the web crawling and dependency download process directly into the compilation workflow. Rather than separate sequential steps, the dependency retrieval occurs continuously as part of the compilation process itself, minimizing idle time and ensuring the latest versions are always used without significant time penalty.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10802803B2Intelligent software compiler dependency fulfillment
Publication Date: 2020.10.13 BANK OF AMERICA CORP
  • US10802803B2 patent drawing
  • US10802803B2 patent drawing

AI summary

A machine learning tool for resolving a compiler error in an application is provided. The application and an associated application metadata file may be stored on a server. The machine learning tool may identify one or more referenced external dependencies causing the compiler error. The machine learning tool may comprise a web crawler configured to locate one or more comparable external dependencies. The web crawler may retrieve an external dependent metadata file for each of the located comparable external dependencies and download the comparable external dependent metadata files. The machine learning tool may be configured to compare the metadata of each comparable external dependent metadata file to the metadata of the application metadata file, assign a confidence level relative to a pre-determined confidence level, for each located comparable external dependency, and download the located comparable external dependencies having a confidence level greater than the pre-determined confidence level.