Automated Library Version Selection and Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for upgrading and updating third-party libraries in software applications are time-consuming and cumbersome, requiring manual identification and testing of each library version, even when multiple libraries share common characteristics.
Innovation Solution
A system and method for automatically identifying and deploying upgraded library versions based on characteristics such as end-of-life attributes, critical vulnerabilities, and deprecation, allowing for intuitive front-end management without manual script generation, and enabling testing in a controlled environment before production deployment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual identification and testing of each library version is performed, then reliability of library updates is improved, but time consumption and operational complexity increase
Solution Approach 1:
The system performs self-service by automatically identifying candidate library versions, generating test builds, executing tests, and determining deployment decisions without manual intervention. The computer automatically selects target versions based on criteria, creates application builds with updated libraries, runs tests in test environments, and deploys to production environments based on test results, eliminating the need for developers to manually test each library.
Solution Approach 2:
The system introduces an intermediary automated testing and deployment system between library identification and production deployment. This intermediary automatically manages the complex process of selecting target versions, creating builds, executing tests, and making deployment decisions, thereby reducing both time consumption and operational complexity while maintaining reliability.
2Measurement precision
If individual testing of each library is conducted, then testing thoroughness is improved, but productivity and operational efficiency decrease
Solution Approach 1:
The system merges multiple individual library testing operations into a single integrated automated process. Instead of testing each library separately, the system combines them into unified application builds and executes comprehensive tests that cover all updated libraries together, maintaining thoroughness while significantly improving operational efficiency.
Solution Approach 2:
The automated testing system performs multiple functions universally: it identifies target versions for multiple libraries, generates test builds, executes tests, analyzes results, and makes deployment decisions across all libraries in a single operational framework, thereby improving productivity without sacrificing testing thoroughness.
3Productivity
If automated version selection and deployment is implemented, then productivity and speed are improved, but system complexity increases
Solution Approach 1:
The system implements feedback mechanisms where test execution results automatically inform deployment decisions. The computer monitors test outcomes and uses this feedback to determine whether to deploy updated libraries to production environments, enabling fast automated updates while managing complexity through structured decision-making based on objective test data.
Data Source
AI summary
Methods and apparatuses are described for testing and deploying targeted versions of application libraries within a software application. A computing device selects a software application comprising application libraries each associated with a current version identifier. The computing device identifies a target version of one or more application libraries, the target version associated with a different version identifier than the current identifier. The computing device defines a software application build for the software application incorporating the identified target versions of the application libraries, and deploys the application build to a test computing environment. The computing device executes tests of the software application build in the test environment, and captures test execution data for the target versions of the libraries in the software application build. The computing device deploys the software application build including the target versions of the application libraries to a production computing environment based upon the test execution data.


