Dependency-Based Software Upgrading via Dynamic Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for software upgrading are inefficient and costly due to the complexity of managing dependencies between software products, often requiring extensive manual effort and numerous tests to ensure successful upgrades without rendering the target software product inoperable.
Innovation Solution
A method that determines dynamic dependency degrees between software products, groups them based on these dependencies, and calculates test scores to identify performance enhancements, thereby reducing the number of necessary tests and determining a target upgrade solution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If extensive manual effort and numerous tests are performed to ensure successful software upgrades, then the reliability of the upgrade process is improved, but the time and resource costs increase significantly
Solution Approach 1:
The patent segments the software dependency management process into distinct phases: dependency relationship determination, dependency degree calculation, grouping based on dependency degrees, and test score calculation. This segmentation allows systematic handling of complex dependencies while reducing overall testing requirements through intelligent grouping.
Solution Approach 2:
The patent performs preliminary actions by determining dependency relationships and calculating dependency degrees before actual software upgrades. Software products are pre-grouped based on their dependency characteristics, and test scores are calculated in advance to identify which products require testing, avoiding extensive post-upgrade verification.
2Reliability
If numerous tests are conducted to verify software upgrade compatibility, then the reliability is improved, but the resource costs and complexity increase
Solution Approach 1:
The patent applies local quality by calculating specific dependency degrees for different software product relationships and assigning different test scores to different groups. Instead of uniform testing, only specific groups with higher dependency degrees require testing, while other groups can be upgraded with minimal or no testing, reducing overall system complexity.
Solution Approach 2:
The patent changes the parameter of test coverage from uniform across all software products to variable based on calculated dependency degrees. Test scores serve as parameters that determine the extent of testing required for each software product group, optimizing the balance between reliability and complexity.
3Measurement precision
If all software products are tested individually for upgrades, then the measurement precision of upgrade impact is improved, but the productivity decreases
Solution Approach 1:
The patent merges software products into groups based on their dependency degrees. Software products with similar dependency characteristics are combined into the same group, allowing their upgrade impacts to be assessed collectively rather than individually, thereby maintaining measurement precision while significantly improving productivity.
Solution Approach 2:
The patent applies partial action by calculating test scores and performing detailed impact assessment only for software products that require upgrading based on their dependency degrees. Products with low dependency degrees or those not requiring upgrades undergo minimal or no testing, reducing overall assessment workload while maintaining precision for critical upgrades.
Data Source
AI summary
A method, system, and computer program product for dependency-based software upgrading. The method may include determining respective dependency degrees between a plurality of software products based on property information related to a plurality of upgraded versions of the plurality of software products, a target software product depending on the plurality of software products. The method may also include dividing the plurality of software products into a plurality of groups of software products based on the respective dependency degrees. The method may also include determining a plurality of test scores associated with the plurality of groups, each test score indicating a performance enhancement degree of the target software product achieved by installing upgraded versions of at least one software product comprised in one of the plurality of groups. The method may also include determining a target upgrade solution for the target software product based on the plurality of test scores.


